用stm32 的配置GPIO 来控制LED 显示状态,可用ODR,BSRR,BRR 直接来控制引脚输出状态. ODR寄存器可读可写:既能控制管脚为高电平,也能控制管脚为低电平。 管脚对于位写1 gpio 管脚为高电平,写 0 为低电平 BSRR 只写寄存器:[color=Red]既能控制管脚为高电平,也能控制管脚为低电平。 对寄存器高 16bit 写1 对应...
STM32的GPIO引脚功能中,IDR(Input Data Register)和ODR(Output Data Register)分别扮演着关键角色。IDR允许我们查看特定GPIO引脚的当前电平状态,它就像一个读取器,告诉我们引脚是否处于高电平或低电平。而ODR则是用来设置或控制GPIO引脚的输出状态,它是执行实际输出操作的控制器。在你的代码示例中,GP...
并为高电平 GPIOB->CRL &= 0xff0fffff; GPIOB->CRL |= 0x00300000; GPIOB->ODR |= 1<<5; //设置PE5为推挽输出,并为高电平 GPIOE->CRL &= 0xff0fffff; GPIOE->CRL |= 0x00300000; GPIOE->ODR |= 1<<5; } //独立键盘初始化,LED初始化已将GPIOE的时钟开启 void key_init() { //...
在GPIO配置中,ODR、BSRR和BRR是相关寄存器,用于设置和清除特定的GPIO引脚。 ODR(Output Data Register):这个寄存器用于设置GPIO引脚的输出状态。每个引脚对应一个比特位,可以通过设置或清除相应的比特位来设置引脚的输出状态,高电平或低电平。比特位设置为1表示高电平输出,比特位设置为0表示低电平输出。 BSRR(Bit Set/...
IDR是查看引脚电平状态用的寄存器,ODR是引脚电平输出的寄存器。1>>4:1右移4位为0,所以,你这句 GPIOA->ODR|=1>>4 是没用的。1<<4:1左移4位为0x10,所以GPIOA->ODR|=1<<4 拉高的是PA4。你说能点亮,是因为它们默认就是高的。扩展:1、STM32是基于ARM® Cortex® M 处理...
ODR、BSRR的使用区别: 你应该有过和我一样的疑问: ODR寄存器只用低16位,就能控制引脚的高、低电平,还能读寄存器的值,用以判断引脚电平状态; 那么, 为什么要存在一个BSRR! 还分高、低16位! 还不能读寄存器的值! 写了几年的STM32代码, 一直在使用ODR, 几乎没用过BSRR. 直到今天查找F1和F4的GPIO操作区别时...
stm32 gpio odr寄存器分享: STM32上的GPIO输出寄存器将其关闭。从ST的文档(STM Nucleo 64)我已经确认按钮连接到引脚C13,LED2连接到引脚A5。从数据表中,我一直在阅读GPIO寄存器(Long STM32F334数据表),看看有三个似乎与输出 gdfffa 2018-09-26 11:34:15 GPIO的CRL、CRH、IDR、ODR、BSRR、BRR、LCKR寄存器 ...
用stm32 的配置GPIO 来控制LED 显示状态,可用ODR,BSRR,BRR 直接来控制引脚输出状态.ODR寄存器可读可写...
IDR是查看引脚电平状态用的寄存器,ODR是引脚电平输出的寄存器。1>>4:1右移4位为0,所以,你这句 GPIOA->ODR|=1>>4 是没用的。1<<4:1左移4位为0x10,所以GPIOA->ODR|=1<<4 拉高的是PA4。你说能点亮,是因为它们默认就是高的……IDR...
用stm32 的配置GPIO 来控制LED 显示状态,可用ODR,BSRR,BRR 直接来控制引脚输出状态.ODR寄存器可读可写...