| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3665 人关注过本帖
标题:[求助]关于delphi使用mscomm串口通讯的问题
取消只看楼主 加入收藏
luperfect
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2005-4-23
收藏
 问题点数:0 回复次数:2 
[求助]关于delphi使用mscomm串口通讯的问题
向高手请教: 我在Delphi中使用了微软的MSCOMM.oxc控件进行访问串口通讯.在定义的字节数组后,不知如何向mscomm.output赋值.我是这样做的, iniCOM; buf[0:=byte($16); buf[1]:=inttobcd(strtoint(copy(meterId,11,2))); buf[2]:=inttobcd(strtoint(copy(meterID,9,2))); buf[3]:=inttobcd(strtoint(copy(meterId,7,2))); buf[4]:=inttobcd(strtoint(copy(meterID,5,2))); buf[5]:=inttobcd(strtoint(copy(meterId,3,2))); buf[6]:=inttobcd(strtoint(copy(meterID,1,2))); buf[7]:=byte($68); buf[8]:=byte($04); buf[9]:=byte($13); buf[10]:=byte($D4); buf[11]:=byte($33); buf[12]:=byte($33); buf[13]:=byte($33); buf[14]:=byte($33); buf[15]:=arrsellcount[0]; buf[16]:=arrsellcount[1]; buf[17]:=arrsellcount[2]; buf[18]:=arrsellcount[3]; buf[19]:=arrsellcount[4]; buf[20]:=byte(selltimes); buf[21]:=byte(selltimes div $100); buf[23]:=byte($16); Sum_CS:=0; for h:=0 to 21 do sum_Cs:= sum_Cs + Buf[h]; buf[22]:=byte(Sum_CS); S:=''; for h:=0 to 23 do S:=S + chr(Buf[h]); mscomm1.Output :=S ; sleep(10); closecom; 对于串口参数设置\字节数组的取值和校验都正确,不知发送处错在何处! 请教高手!谢谢!
搜索更多相关主题的帖子: 串口通讯 buf delphi mscomm 微软 
2005-04-23 00:34
luperfect
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2005-4-23
收藏
得分:0 
我已找到原因了,是因为MSCOMM控件的BUG,改用Delphi的Tcomm就可以了

2005-05-01 22:54
luperfect
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2005-4-23
收藏
得分:0 

你的问题很简单,因为你先打开串口而后对MSCOMM进行设置的,正确的方法是先设置,后打开串口.

if not mscomm1.PortOpen then mscomm1.PortOpen:=true; 放到最后,就OK了,试一试.


2005-05-21 22:19
快速回复:[求助]关于delphi使用mscomm串口通讯的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011996 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved