stm32 读数据 IO口设置为什么模式?

stm32 读数据 IO口设置为什么模式?,第1张

GPIO_InitStructure.GPIO_Pin

=

GPIO_Pin_3

GPIO_InitStructure.GPIO_Speed

=

GPIO_Speed_50MHz

//

GPIO口的速

GPIO_InitStructure.GPIO_Mode

=

GPIO_Mode_IPU

//读外部ADC数据端口设置为

上拉输入

GPIO_Init(GPIOA,

&GPIO_InitStructure)

这是偶的开发板例程里的用法。

他把读数据的IO设置为上拉输入模式。

1,我怀疑这样写的用意在哪里。两个define 对于GPIOA的IDR寄存器是没有任何意义的,32位的寄存器每一位该是0的是0,是1 的是1 没有什么变化,寄存器。如果是获取寄存器的值是可以的。但是两个的作用没有什么不同,他们寄存器的值都不会发生改变,如果实在要说区别的话,就是运算的时间和写法的不同。

2,#define key1 (GPOIA ->IDR | 0xFFFFFFFF) //这是每一位都置位为1

#define key1 (GPIOA ->IDR | ( 1<X ) )// x位置位为1

3, #define key1 (GPIOA ->IDR &0X0) //每一位都清0

#define key1 (PPIOA ->IDR &(1<X)) // x位清0


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9977898.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存