STM8S芯片GPIO脚复用AD功能后无法回到GPIO状态问题 某日,一工程师使用STM8S芯片开发产品,其管脚资源比较紧张。某一GPIO口被复用为AD输入脚做相关AD检测。之后,把该脚AD功能禁用掉,把该口配置切换为带下降沿触发的EXTI触发脚,之后让芯片进入睡眠。当然,休眠时该口处于高电平。 奇怪的是,那样设置后根本没法唤醒。即使不做休眠,做好切换配置后,直接查看该脚的IDR位的电平,发现始终提示为0. 后来一起查看代码,发现在配置AD时,他配置了ADC_TDR寄存器,目的是关闭跟该脚相关的GPIO模块里的一个施密特触发器。IO口复用为AD时,关闭它是合理的。但它作为AD完成使命后,切换为GPIO功能时,工程师忽略了ADC_TDR寄存器,让它依旧保持原值。结果是,AD虽然关了,但施密特触发器还是关闭的。
|
学习了,stm8接触不多 |
请问配置为ad引脚时关闭施密特触发器的目的都有哪些? |
不错,赞一个先 |
太多东西需要学习了! |
学习啦!感谢分享! |
给个例程更好。。。 |
很好的经验,学习学习 |