原创
串口收发上位机编程
2010-8-11 11:33
2682
6
6
分类:
软件与OS
最近在写一个串口上位机程序,使用VC6和MSCOMM控件。参考了网上已有的一些书籍和资料。
MSCOMM控件的说明网上有什么“XXXX详解”之类的资料,其实内容根本就不完整,后来找到MSCOMM的帮助文件就在WINDOWS的目录
下,C:\WINDOWS\Help\COMM98.CHM,有了这个文件控件编程就简单很多,突然觉得搞编程开发还是得看第一手资料。
程序中使用一个EDITBOX用来接收下位机回馈的信息,并显示出来。控件设置成多行,当数据量一多滚动条就不能自动滚到末尾,看新数据很麻烦,老是需要
自己去拖滚动条。后来在OnComm()函数末尾加入
m_cReceMsg.LineScroll(m_cReceMsg.GetLineCount());滚动条就能自动滚到末尾了,方便。
m_cReceMsg是与editbox相关联的Control型变量。
还有一个问题,当使用1Mbps的速率收发串口数据的时候发现程序会异常退出,而先前使用115Kbps的时候是正常的。怀疑是MSCOMM控件本身的问
题,还是老老实实把控件的帮助打开,虽然帮助中没有找到错误的原因但是调整OnComm事件的频率为收到6个字符触发一次后,问题神奇的解决了。据此可以
大致判断是高速串口在设置OnComm事件为1个字符触发一次时,MSCOMM工作是有些问题的。具体内部啥原因,俺是搞硬件的,软件的东西不太擅长,随
他去吧。或许论坛上的DX看到俺这篇日志,能给个答案。哈哈。
文章评论(0条评论)
登录后参与讨论