求助 主机与从机串口收数的问题

2019-10-15 02:06发布

我有一台主机 很多台从机 都是通过485传输数据,现遇到一个问题,我这些机器都是led显示屏,通过串口收数判断地址再显示出相应的字符出来,
字符也是通过串口下发的,但问题是:比如我给主机发的数据是 1 2 3 4 ,再给从机发 2 3 4 5 ,那么主机的数据就会被刷掉,因为 USART2_RX_STA=0;
它始终要把数据清除,但如果不清除的话,那要想再改主机的数据就不行了,求教各位大神,这个要怎么处理才能解决啊?!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
smallshuo
2019-10-15 18:57
TGuest 发表于 2017-2-14 10:40
你可以自己定义一个通信协议帧  比如一帧数据6位   第一、二位为标示位(可定义为主机或从机号)  剩下4位 ...

我有协议来判断地址位,比如说00就是主机,01是从机,但问题是如何保存主机的数据这个问题,因为主机收到了这串数,例如1234,接下来判断从机01,又发给从机2345,但是串口收到2345这个数据时,不是串口中断中有USART2_RX_STA=0;这个会把上次收到的数据清除嘛,那么主机的1234就会变成2345,但如果我不清除,我屏蔽掉USART2_RX_STA=0;那么即使从机收到了2345,那我再次给主机发送其他数据的时候,例如3456,因为没有清除,所以主机的数据又变不了了。

一周热门 更多>