遇到一个问题很郁闷:STM32开发板在下载完程序后运行正常,按下复位键也运行正常,但是如果断电后在上电开发板就会反复复位,按下复位键后就会死机,等反复复位几次后复位停止,桌面鼠标失控到处跑,像中病毒似得;如果此时改USB供电为9V的外接电源供电就不会复位,运行正常!后来我依然采用USB供电,并把程序里的一个串口不停发送数据的函数屏蔽掉发现又不会反复复位了,那就是这个函数让单片机反复复位吗?!为什么用9V供电就没事呢,但就是串口不停发送数据而已怎么会这样呢?求大神指教啊,原子哥的开发板跑程序一直都挺好的,没遇到过这么郁闷的事情
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1,重新上电,因为我们开发板带了一键下载电路,所以第一次上电,会引起几次(3~6次)MCU复位,很正常. 你不要每次都按电源键来实现复位,就不存在这个问题了.
2,因为你的例程,一上电,就通过串口输出数据了,而此时CH340还在和电脑通信,CH340在和电脑USB连接建立的时候,收到数据,就可能导致你的串口不被识别为串口,而被识别为什么ball之类的设备,从而鼠标乱飞.
解决办法:
上电之前,先按住MCU的复位,然后再上电.等10秒钟左右,再释放复位.就一切OK了.
---------------------------------
原子哥太帅了,按照你说的已经正常了,按住复位键在上电就没事了,现在我在程序里设置了一个标志位,第一次运行程序时在串口发送的位置延时几秒钟,之后再发送数据,进去以后把标志位清掉,再循环运行就不用延时了!希望对其他遇到同样情况的童鞋有帮助,感谢原子哥,也感谢楼上的朋友!
一周热门 更多>