STM32的LL库是ST公司推出的以提高运行效率,而且又兼具一定的易读性的库函数。
在GPIO初始化时,使用LL_GPIO_SetPinMode()
函数设置某引脚为输入模式时,有两个类型都是设置为输入模式的:LL_GPIO_MODE_INPUT
与LL_GPIO_MODE_FLOATING
。
那么这两个有什么区别呢?
通过仿真读取相应端口的CR寄存器得到:
- 使用
LL_GPIO_MODE_INPUT
时,CNF[1.0]被设置为0b10 - 使用
LL_GPIO_MODE_FLOATING
时,CNF[1.0]被设置为0b01
从上表可以看出,两种配置方式的区别。注意使用LL_GPIO_MODE_INPUT
设置为输入模式时,还需要搭配函数LL_GPIO_SetPinPull()
设置输入引脚的上/下拉方式。