救命啊!串口通信,使用CSerialPort的问题
最近在使用PJ Naughter的CSerialPort做一个串口程序,底层使用三个线程进行异步发送,接收和处理,程序跑起来的的时候会出现丢失数据,而且还有一个非常严重的问题,就是接上设备以后程序无法正常退出...用TRACE跟踪发现三个子线程都已经结束返回,但是主线程的Wait就是得不到信号,由于工期很紧了, 设备只能白天去测试,而我以前又从来没接触过串口,对其特性了解得少之又少,故先在这里求助各位有经验的高手,如果有碰到过跟小弟类似问题的大侠还望不吝赐教。
先提出几点:
1. 刚开始写这个程序的时候我不知道流控制的意思,在设置串口的时候用了XonXoffFlowControl,今天回来以后检查代码发现了这个问题,会不会是这个原因造成了丢失和程序无法退出?
2. 我没有进行命令反馈控制,也就是说我没有等待每条指令的反馈信息,而是把指令一堆一堆往buffer里面写的,会不会是这个原因造成下位机的阻塞,无法响应和丢失数据?
另外,跟我的软件通信的下位机貌似是单片机,我调试时用的是USB转RS232串口线,不知道可靠否?