到目前为止我还是没搞懂,GPIO口输入输出模式下,PULLUP、PULLDOWN以及NOPULL之间的区别,从实践角度讲,也就是我亲自测试来看,能划分的区别有以下几点:
GPIO_INPUT
在输入模式下使用HAL_GPIO_WritePin不能改变此引脚的输出电平,无论选择上拉下拉亦或者NOPULL,在没有外界干扰下输入模式的电平都是显示高电平
只有在外界将低电平接入输入模式引脚才能改变其高低电平,当外界低电平与输入模式引脚分离,此输入引脚又会恢复高电平
GPIO_OUTPUT
在输出模式下唯有使用HAL_GPIO_WritePin才能改变其高低电平,无论外界接入什么电平都不能改变其原有电平,无论上拉下拉亦或者NOPULL都无法左右输出模式的电平,默认情况下输出模式输出低电平。
外部中断的按键也是如上述input一样平常为高电平,Write函数无法改变其电平,只有外部影响才能改变其电平,外部因素消失其又会恢复高电平
总结:在实现点灯或者按键GPIO的上拉下拉或者不拉的勾选对功能正常工作没有影响
纠正: 经实战验证GPIO在INPUT输入模式下,不上拉的话,那么GPIO口的电平状态会非常不稳定,特别是大工程下,GPIO口的稳定会更低,一定用PULLUP模式!!!省的出很多BUG