日期:2014-05-17  浏览次数:21067 次

.net串口发送多条命令和接收多条响应信息
程序里有一个string类型的变量用来存放我要发送的数据,
比如我要发送:
第一条命令string str="7E 32 33 34 45 0D";
第二条命令string str="7E 32 33 38 45 0D";
第三条命令string str="7E 32 30 33 45 0D";

每发送一条命令中间隔一个时间值time(可以设置),串口每收到一个命令都要再传回来一条响应信息数据

发送完 第一条命令后,等待串口传回来的响应信息数据,传回响应信息之后再接着发送第二条命令,如果过了n秒还没有传回响应信息,那么就提示用户超时,就要求是重发没响应信息的命令还是继续发没发完的命令
请问这个该怎么实现呢,求高手指点。请给出代码,越详细越好!
如果是接收多条响应信息又是怎么实现呢?

------解决方案--------------------
你得在串口接收数据的事件中处理,串口一有数据就会自动产生一个事件处理,你可以把接收到的数据都放到一个全局数组里面,每次串口收到数据后,把数据存在全局数组里,如果数据够了,就发送string,并且清空数组,否则就不处理,继续等待数据,知道数据个数达到要求。
参考
http://blog.csdn.net/wuyazhe/article/details/5627253