WINCE下监控程序+串口通信+MODBUS协议,没做过。求方案。
几个线程?
多长时间写一次数据,多长时间读一次数据?
[解决办法]
时间,要看你做什么应用!
线程的个数,也是一样,一般来说串口接收需要开一个线程;其它的,要看你应用的要求。
[解决办法]
接收一个线程;
发送,如果不需自动则不要线程;
数据处理,即接收到数据后,对数据进行分析、分类……,如果数据量大,要一个线程;
条件控制,数据分类后,进行分类控制,如果会影响主线程,要一个线程。
……
如果你半天也没一个数据,进行分类控制的代码运行时间又很短,则只要一个接收线程……
[解决办法]
比如,
你处理的是实时运动数据,可能要间隔0.1秒;
你处理的是温度数据,可能要间隔3秒。
……
[解决办法]
发给从机的请求访问数据写在读线程里可以么?
BYTE pSendData[8]={1,3,0,0,0,160,69,178};
pCeSerial->Senddata(pSendData,8);
Sleep(20);
/* 从串口读取数据 */
BOOL fReadState = ReadFile(pCeSerial->m_hComm, recvBuf, 320, &dwLength, NULL);
这样可以么?
[解决办法]
个人认为,线程不是问题的关键,关键在于硬件的响应速度
[解决办法]
发给从机的请求访问数据写在读线程里可以么?--不好,可能会丢读取的数据
[解决办法]
就是数据是总线传来的,需要实时显示。