LED输出反转
1.3、无效GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct) 功能: GPIO初始化函数,根据GPIO_InitStructure中的指定参数初始化GPIO外设寄存器。 参数:GPIOx用来选择GPIO外设,取值可为GPIOA-GPIOG;GPIO_InitStructure为GPIO_InitTypedef类型结构体指针,指向包含GPIO外设配置信息的GPIO_InitTypedef结构体。
#define LED_B_GPIO_CLK RCC_APB2Periph_GPIOB // 直接操作寄存器的方法控制IO #define digitalHi(port, pin) do {port->BSRR |= pin;} while (0) // 置位 #define digitalLo(port, pin) do {port->BRR |= pin;} while (0) // 复位 #define digitalToggle(port, pin) do {port->ODR ^= p...
在LED初始化函数内最后还调用了GPIO_SetBits(LED_PORT,LED_PIN)函数,此函数功能是让GPIOC端口的第0-7个引脚输出高电平,让LED处于熄灭状态,如果要对同一端口的多个引脚输出高电平,可以使用“|”运算符,相应的在对结构体初始化配置时管脚设置那里也要使用“|”将管脚添加进去,即在led.h文件内对LED引脚的定义。(...
的GPIO *///G-绿色#defineLED2_GPIO_PORT GPIOB /* GPIO端口 */#defineLED2_GPIO_CLK RCC_APB2Periph_GPIOB /* GPIO端口时钟 */#defineLED2_GPIO_PIN GPIO_Pin_0 /* 连接到SCL时钟线的GPIO *///B-蓝色#defineLED3_GPIO_PORT GPIOB /* GPIO端口 */#defineLED3_GPIO_CLK RCC_APB2Periph_GPIO...
相对GPIO基址的偏移 GPIOx_MODER GPIO模式寄存器 0x00 GPIOx_OTYPER GPIO输出类型寄存器 0X04 GPIOx_OSPEEDR GPIO输出速度寄存器 0x08 GPIOx_PUPDR GPIO上拉/下拉寄存器 0x0c GPIOx_IDR GPIO输入数据寄存器 0x10 GPIOx_ODR GPIO输出数据寄存器 0x14
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //设置传输速率GPIO_Init(LED_PORT,&GPIO_InitStructure); /* 初始化 GPIO */GPIO_SetBits(LED_PORT,LED_PIN); //将 LED 端口拉高,熄灭所有 LED} 函数中的LED_PORT_RCC、LED_PIN和LED_PORT是我们定义的宏,其存放在led.h头文件内 。LED_PORT_RCC定义...
GPIO端口的寄存器组成 的数据寄存器(GPIOx_IDR、GPIOx_ODR)。3.一个32位的置位/复位寄存器(GPIOx_BSRR)。4.一个16位的复位寄存器(GPIOx_BRR)。5.一个16位的锁定寄存器(GPIOx_LOCK)。(一旦gpio端口锁定之后,再次复位gpio端口时,gpio端口的状态将不会改变) yuhonglong 2022-01-11 07:48:19 移位寄存器在...
GPIO mode GPIO的输出模式配置,Output Push Pull-推挽输出,Output Open Drain-开漏输出 GPIO PULL—UP/PULL-DOWN PULL—UP:上拉,PULL-DOWN:下拉,NO pull-up and no pull Maximum output speed IO最大输出速度 User Label 自定义用户标签 在HAL库中定义如下: ...
/* 直接操作寄存器的方法控制IO */#define digitalHi(p,i) {p->BSRR=i;}//输出为高电平#define digitalLo(p,i) {p->BRR=i;}//输出低电平#define digitalToggle(p,i) {p->ODR ^=i;}//输出反转状态/* 定义控制IO的宏 */#define LED1_TOGGLE digitalToggle(LED1_GPIO_PORT,LED1_GPIO_PIN)#defin...