一个串口通讯问题,至今还没解决,我都急死了,那位老兄帮帮我。(0分)

  • 主题发起人 主题发起人 笨波
  • 开始时间 开始时间

笨波

Unregistered / Unconfirmed
GUEST, unregistred user!
在我写的一段通讯程序中,本来发送的数据是:1122F3,可发到串口时变成了112200。
发送A21122,可发到串口时,竟然变成了3F22。不知是什么原因,是我的程序造成的,还
是我的MSCOMM控件的那个属性设的不对呢,请那位老兄给我讲讲。我的原程序请搜索‘笨波’
是个穷翁。多谢了。下面是我发送的一条数据:
FEFE6801000000000068010243C3DA16//发到串口上时是对的。
68 01 00 00 00 00 00 68 81 06 43 C3 7B 67 66 66 0C 16//正确的返回应是这样,在返回时,前面的几个FE不返回,因为它们是前导字符。
3F0000E8D93F3F9683BBDE3F//这是接收到返回的数据,不对。
FE FE 68 01 00 00 00 00 00 68 01 02 65 F3 2C 16 //我发送的另外一条数据;
FE FE 68 01 00 00 00 00 00 68 01 02 65 3F 16 //发到串口上时,变成了这样。所以没返回数据。
以上问题是流程制造成的吗,可我没设置呀,是默认值呀。
 
MSCOMM特殊字符不能发,
改SPCOMM试试,还不行多半是硬件问题了。
 
不是吧,我看过也有人用的呀,不过是在VB上呀,和这个没关系吧。
 
MSCOMM不能发送某些特殊字符!!!
和开发工具没有关系,否则直接用API试试。、
 
估计是你的通讯参数不对,能接收到数据,但是不正确
 
流控制
波特率
校验
数据位
 
用mscomm发送时,如果用文本方式是不能发送128以上的字符的,要用二进制发送
你要将字节付给一个数组,然后发送这个数组或把这个数组付给variant型变量,发送这个变量
 
后退
顶部