【解析新特性】300W单路输出工业电源>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 大家看看这个通信过程是怎么回事啊

共4条 1/1 1 跳转至

大家看看这个通信过程是怎么回事啊

菜鸟
2014-05-20 20:53:16    评分

两个板子进行通信,一个作为CAN的发送端,一个作为CAN的接收端,接收端把收到的数据同时会通过串口发送出去。当上电开始运行的时候两个板子可以进行正常的通信,在串口上也有数据发出。但是当运行几分钟后就发现串口不向外发送数据了。我自己想的原因可能是1,CAN的发送数据的速率太快了,串口的发送数据慢,所以在串口发送的过程中容易发生死机的现象,所以最好加个延时。2,单片机接收到CAN的数据之后,没有删除直接将数据发给串口了,串口再向外发送。需要把接收的数据随时删除。

尝试的方法,在串口接收数据时,加了个延时程序。重新进行实验,现在程序正常运行了1个小时了。

不知道大家有没有遇到过我这种情况,请帮忙分析一下,谢谢了。


高工
2014-05-20 20:59:52    评分
2楼

串口速度太慢了,龟兔赛跑啊,必须做内部缓冲,适当的加长延时时间或缓冲区大小也许会好些


菜鸟
2014-05-21 06:50:14    评分
3楼
加了延时之后,程序比之前运行的时间长点,大约1个多小时,之后必须重新上电复位单片机才行,程序才能再次正常的运行。

专家
2014-05-21 09:29:02    评分
4楼
如果是串口往出发,其实没必要用CAN接收,不如用串口接收了,容易匹配

共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]