串口通信问题! 做的是与单片机通信的软件,以前的都是实时通信,即上位机发送一个信号,下位机返回一个信号目前的软件需要这样调整:下位机主动会向上位机发送检测到的信号那么我的问题是:当下位机主动发送数据到串口的时候,上位机正好也发送了一个命令令,那么串口上的数据不是混乱了吗?大家觉得怎么解决好? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 发送接收是有信号控制的,就像红绿灯一样先看看串口通信的机制吧 不知道下位机什么时候发送啊,随时可能发送,怎么设置延时呢? 最好不要下位机主动发,感觉 上位机不能随意的发呀,上位机和下位机要有通讯协议的,发送应答要有规定如果随便发,你就要对数据进行处理过滤,当然尽量避免这种情况,也不应该出现这种情况 下位机需要检测环境,发现问题,需要传给上位机来处理的。或许你的意思是上位机发送一个命令,然后下位机再把问题发回来了,但是这样实时性很不好。另外如果我设置另外一个线程来每个一段时间发送命令给下位机看是否有问题的话,这样也会干扰正常的收发命令。 接收过来的数据先放置缓冲区,同时定义双方的通讯协议。 先谢谢,协议是有的啊。下位机随时监测硬件的工作环境,有问题需要立刻发送,而且也不知道问题什么时候发生! 采用事件处理机制,串口的收发会有事件发生,另外尽量采用一问一答的形式,在一定时间内没有收到应答可以重复发送可以避免一些数据遗漏吧。 就这么一根线大家随便发,不乱套才怪以前软件估计不是楼主写的建议仔细看看原来的程序也不会随时想扔个数据包就扔过去的串行通信前一般都会有握手 如果是RS232通讯,同时发送和接受是没有问题的只要你接受的时候单片机进中断就可以了 各位老大,请帮帮忙,关于PC连接USB控制的问题!!! 请问:只知道一个窗体的名字的字符形式,可不可以创建这个窗体 有关使用Socket传送自定义结构体的问题?请高手赐教! 请问recv函数是阻塞的吗? 两个问题 一个表的recordcount问题,急! 这是delphi5.0中query的一个bug吗? 问个问题,如何使问题的分数不是100,而是200,或者更多 delphi5的程序为什么到delphi6下有些不能执行? 华硕P2B主板怎么装联想商博士6xxx的内猫,猫是好的,可插上后怎么也找不着,怎么办? 这个该怎么样实现```` DBGrid导出EXCEL
先看看串口通信的机制吧
或许你的意思是上位机发送一个命令,然后下位机再把问题发回来了,但是这样实时性很不好。
另外如果我设置另外一个线程来每个一段时间发送命令给下位机看是否有问题的话,这样也会干扰正常的收发命令。
下位机随时监测硬件的工作环境,有问题需要立刻发送,而且也不知道问题什么时候发生!
大家随便发,不乱套才怪
以前软件估计不是楼主写的
建议仔细看看
原来的程序也不会随时想扔个数据包就扔过去的
串行通信前一般都会有握手