做了一批STM32F105的板子,二十来块。现在发现一部分板子(另外一些正常工作)掉电之后再次上电串口没有数据输出,输入也没反应,单片机正常工作(设定了DA)。按复位键之后正常工作,串口可发送可接收。
程序开头加了延时。
串口那里的输出波形也正常。
串口终端使用了丁丁的,超级终端,labview等测试。
希望大神给个方向~~~PL3202的接线和原子的板子一样~
重新下完程序,则正常运行。断电之后出现上述情况~~~
还会偶尔出现摁一下复位键之后串口数据停止传送,再按一次则恢复正常~~
那些不正常的板子,上电之后,打开串口调试助手,然后调试助手提示串口被占用。之后重新打开一次串口助手就可以了!!产品是要把板子封起来的,不能按到复位键的~~
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
这是其他地方网友的回答,虽然还没解决,还是贴上来大家一起看看吧~~~(我尝试一下,但是不确定该怎么操作)
作者:levinxia
这个问题,我遇到过的。叫了ST的技术支持来了两次。最后找到办法解决了。
UART接收有时候会出现错误。导致UART中断一直进去。实际上并没有UART数据接收。
这种情况下,我们的解决办法就是修改软件:
在UART中断里面,加上一句话。在接收中断里面,增加读取UART缓冲控制。
1、正常有UART数据接收时,肯定会是有读取UART缓冲操作。这个地方没有问题。
2、如果没有接收中断,也没有发送中断。也没有错误中断的情况下,将UART缓冲读取一次。数据直接丢掉就行了。
3、每种错误信息都去判断。在判断的处理中。也读取一次UART缓冲。
通过以上三个操作。问题就能解决。
一周热门 更多>