STM32F103C6点亮 LED灯闪烁 protues8.9仿真
通过网盘分享的文件:LED闪烁 ,STM32F103C6点亮 LED灯闪烁 protues8.9仿真
链接: https://pan.baidu.com/s/1tOVLo7RQC1r7_klMv2a7kg?pwd=nf4e 提取码: nf4e
#include "stm32f10x.h" // Device header
#include "Delay.h" //延时函数int main(void)
{
//语句显然定义了一个GPIO_InitTypeDef类型的变量,名为GPIO_InitStructure 的结构体
GPIO_InitTypeDef GPIO_InitStructure;
///PORTB时钟使能
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
// 配置结构体GPIO_InitStructure
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; // 设置端口模式为推挽输出
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13; // 设置GPIO端口号为13
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; // 设置输出速率为50MHz
GPIO_Init (GPIOB,&GPIO_InitStructure); // 初始化
while(1)
{
GPIO_WriteBit(GPIOB,GPIO_Pin_13,Bit_RESET); // 输出高电平 点亮PB13口LED灯
Delay_ms(500);//延时500MS
GPIO_WriteBit(GPIOB,GPIO_Pin_13,Bit_SET);
Delay_ms(500);//延时500MS
}
}
/*1. void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
如:GPIO_SetBits(GPIOA, GPIO_Pin_0);
功能:将指定GPIO端口的指定引脚置为高电平(逻辑1)。
特点:只能用于将引脚置高,操作简单直接,适用于只需要将引脚拉高的场景。
2. void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
如: GPIO_ResetBits(GPIOA, GPIO_Pin_0);
功能:将指定GPIO端口的指定引脚置为低电平(逻辑0)。
特点:只能用于将引脚置低,操作简单直接,适用于只需要将引脚拉低的场景。
3. void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);
如:GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_RESET)
功能:将指定GPIO端口的指定引脚设置为指定的电平值,电平值可以是高电平(Bit_SET)或低电平(Bit_RESET)。
特点:可以灵活设置引脚的高低电平,通过传入不同的BitAction参数来控制。
4. void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);
如:GPIO_Write(GPIOA, 0x03) 0x03十六进制:0000 0000 0000 0011
功能:将一个16位的值写入指定的GPIO端口,一次性设置该端口所有引脚的电平状态。
特点:可以同时控制一个端口的所有16个引脚,适用于需要对多个引脚进行批量操作的场景
*/


最新发布