在验证STM32F4板的IIC功能,外接超声波模块KS103,一开始程序运行正常,读写数据都OK,中途这个板拿去做了从机实验,GPIOB的引脚8,9可能不小心被接反过,代码中8是SCL,9是SDA,接线的时候接成了8是SDA,9是SCL,再拿板子烧回原程序,接上KS103,发现程序卡死,调试了下,发现卡在void IIC_Start(void)
{
SDA_OUT(); //卡死在这句,走不到下面打印
printf("SDA_OUT
");
#define SDA_OUT() {GPIOB->MODER&=~(3<<(9*2));GPIOB->MODER|=1<<9*2;}
定义GPIO端口配置寄存器,好像对这个寄存器无法操作了,难道是引脚反接会烧坏芯片吗?
本人初玩单片机的小菜,跪求各位大神帮忙解答下,有没有恢复的可能?
不胜感谢!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
电源不知道有没有接反过,但是烧了最简单的跑马灯程序试了下能正常运行,卡死在寄存器操作这里是什么情况呢?
一周热门 更多>