问题场景:
今天在用华大HC32F460JCTA按键输入控制电机时,肝完程序仿真发现有一个按键(PB11)一直被判断有效,在Peripherals-System Viewer-PORT发现它一直为低电平。
PS:由于记录时问题已经解决,图示为正常现象。有问题时PIN11一直未打勾(为低电平)
问题描述:
于是顺藤摸瓜检查按键初始化,发现设置过内部上拉。那究竟为什么电平没有被拉高呢???
后来也排除按键IO口设置问题
讲道理我们都知道正常设置按键对应IO后,正确初始化并且上拉后,就应该默认为高电平;
于是就怀疑可能是特殊GPIO没有设置为普通IO导致的问题;
于是在手册里找了很久手册都要翻烂了,只找到这些信息,因为特殊GPIO一般会在注意事项里特别说明。
最后用万用表一量发现确实为低电平,更加肯定这个IO口是特殊IO
原因分析:
于是马上上官网在官方文档里找到了关于HC32F460JCTA-PB11的设计说明!!!
解决方案:
最后上拉电阻后成功解决问题
总结:
遇事不决,官方文档ʕ•̀ ω • ʔ
Debug流程-软件初始化-配置-GPIO手册-是否特殊IO-硬件检查-官方文档