byte = checksum(TempReceiveBuff[0],framelen+1); if(TempReceiveBuff[framelen+2] == byte) return 1; else return -1; }}}}}} 此函数完成了对数据包的实时接收,对数据包进行校验。 4)初始化串口。 点击打开串
byte = checksum(&TempReceiveBuff[0],framelen+1);
if(TempReceiveBuff[framelen+2] == byte)
return 1;
else
return -1;
}}}}}}
此函数完成了对数据包的实时接收,对数据包进行校验。
4)初始化串口。
点击“打开串口”按钮时进行串口的初始化,添加m_SerialPort.InitPort(this, nPort, 115.2, 'N', 8, 1, EV_RXFLAG | EV_RXCHAR, 512)。
5)其他辅助功能开发。
程序还实现了保存数据的功能。分别添加单击“更改路径”和“保存数据”的响应函数OnButtonDirbrowser()和OnButtonSavedata(),并添加相应的代码即可。
至此,程序开发基本完成。
2 结束语
SerialPort串口类是一款可以实现多线程的开放源代码,代码可移植性高,可根据需要对成员函数进行适当的修改,以实现实际工程要求。当需要实现几个串口同时收发时,用它也能方便的实现。通过程序开发过程可知:用SerialPort类编写串口程序,开发简洁、方便,并具有运行稳定、可靠等优点,适用于通信及工业控制领域串口通信上位机程序开发要求。
参考文献:
[1] 龚建伟,熊光明.Visual C++/Turbo C串口通信编程实践[M].2版.北京:电子工业出版社,2007:27-61.
[2] 白宁,金华晋.基于VC++6.0的串口通信程序开发[J].电脑编程技巧与维护,2010(8):84-85.
[3] 李现勇.Visual C++串口通信技术与工程实践[M].2版.北京:人民邮电出版社,2004:12-16.
[4] 黄晖,柴剑勇,严兴,等.串口通信技术[J].科技创新导报,2010(27):20-21.
[5] 邱建华,彭志豪.串口通信技术在Visual C++中的实现[J].软件工程师,2010(z1):94-95.
(责任编辑:南粤论文中心)转贴于南粤论文中心: http://www.nylw.net(南粤论文中心__代写代发论文_毕业论文带写_广州职称论文代发_广州论文网)
顶一下
(0)
0%
踩一下
(0)
0%
版权声明:因本文均来自于网络,如果有版权方面侵犯,请及时联系本站删除.