使用CSerialPort类进行串口数据发送和接收问题
请教各位大神,目前本人用CSerialPort类写了一个串口程序,需要在某个特定的VIEW窗口用串口发送和接收数据,大致流程如下:
在窗口InitialUpdate中使用m_SerialPort.InitPort(this,4,9600)打开串口。
在一个TEST函数内,当测试完成后,先判断串口是否打开,如果已打开,发送某个特定字符到串口。
串口收到这个字符后会作相关处理,处理时间不确定,可能需要几十秒或几分钟。
对方处理完成后,会通过串口发送一个字符结果给我,最后执行结果。
目前我已经实现了发送,在onComm内也可以接收。
有两个问题:
发送:目前发送时需要等这个TEST函数执行结速字符才会发出去,需求是执行了WriteToPort对方马上可以收到,不知是哪里出了问题?
接收:在WriteToPort发送完后,需要等待对方发回一个结果,需要在TEST函数内一直等待直到timeout,这段代码要怎么写?要用线程吗?
目前只有onComm消息里面可以收到对方的结果。不知道我的方法是否错误,还望不吝赐教。
谢谢。