读书人

关于pc和单片机的串口通信解决方案

发布时间: 2012-03-12 12:45:33 作者: rapoo

关于pc和单片机的串口通信
本人做了一个温控节点,把温度数据通过串口实时的传给pc,我也可以在pc上发命令给单片机,现在问题是:如果我不发命令给单片机,则系统正常,pc可以正常接收单片机发来的温度数据,但当我发命令给单片机时,系统就卡死了。我怀疑是当我通过pc发命令时,pc正好在接收数据(因为温度数据是实时发送的,不停的),所以发生冲突,导致系统卡死,不知道我的怀疑对还是错??不知道有没有什么解决方法,既可以把温度数据实时的传给pc,pc也可以随时发命令给单片机,求高人解答!!

[解决办法]
你的单片机的串口在处理与PC的通讯,是采用的中断 还是轮询 方式啊?


感觉很可能是单片机采用了中断,但单片机的UART接受中断函数处理不当,
从而当PC端发送数据时,单片机进入接受中断 就死掉?


你看看你对单片机串口的 初始化是否正确? 如果采用中断,好好看看中断初始化,以及中断处理函数。

[解决办法]
估是你程序的,接收快致程序卡死是很容易的,像度的化不是很快的,1秒采集一次就已是很快的了

串口通信的可以考Modbus做
看懂后你可以自己定一一一答的也可以
[解决办法]
使用串口调试器先调试一下通信,看看返回
[解决办法]
232 通讯, 加个max232 进行ttl 与电脑的串口电平转化,有mscomm 控件可以调用。 卡死是软件问题。
[解决办法]
卡死一般不太会是PC端的问题。
查查你单片机的程序,要是中断接收的话,很有可能就在中断里卡死了。
我怀疑是在等待标志位那里,或者是数据处理那里挂掉了。
你看一下吧。

读书人网 >单片机

热点推荐