spcomm控件的详细使用方法--用DELPHI实现单片机与PC机的通讯(200分)

  • 主题发起人 chenjp1998
  • 开始时间
C

chenjp1998

Unregistered / Unconfirmed
GUEST, unregistred user!
[purple]我用单片机给PC机发的数据是01,02,03,04,而PC机收到的却是81,82,83,84;
有时候还没有规律,而发F1,F2,F3,F4时,却很少出问题,实在是让我大伤脑筋,望
各位在串行通讯方面有所成绩的高手给予及时帮助,在下感激不尽![/purple]
[?]
 
通讯参数都有没有统一?
 
ascii码没有转换
判断字符数据用inttohex(81,2)
81为ascii码值
 
[gold]首先谢谢两位的解答!
通讯参数都是对的,刚开始用12M的晶振来作波特率发生器,设置波特率9600可能有误差
后来换了11.0592M的晶振,还是存在同样的问题。
如果说是ASCII码的转换问题,那也不对啊
PC机发的时候就没有问题,而且单片机发的数据有些也是对的,比如F开头的是对的
发送和接收都是用下面方法来实现的:
发送:comm1.writecommdata(@sbuf,1);
接收:move(buffer^,pchar(@rbuf)^,bufferlength);[:)][/gold]
 
单片机数据与PC需要转换。BYTE与STRING等.
 
顶部