为什么我用SPCOMM读写$11为什么不行???(100分)

  • 主题发起人 主题发起人 wmmwang
  • 开始时间 开始时间
W

wmmwang

Unregistered / Unconfirmed
GUEST, unregistred user!
PC机发$11,单片机什么都不做,收到什么发什么,这里收到$11,那就还是发$11,PC收到结果却什么都没有。代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
i:Byte;
begin
i:=$11;
comm1.WriteCommData(@i,1);
end;


procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
i:Byte;
begin
move(buffer^,i,1);
edit2.text:=inttohex(i,2);
end;
哪位高手解决下啊???帮帮忙…… 拜托了!
 
补充一下,发其他数字都很正常,如$10、$12
 
已经解决了。呵呵。有谁要分?
 
你怎么解决的啊??说说看,另外,我用的是MScomm做的监控程序,但是需要用到sleep()函数等待,你用的是SPcomm你的读写策略能不能说一下,发送命令后需要延时再读数据吗??
 
楼主怎么解决的啊?说来听听啊,我要学习下,我对串口了解不多
 
是outx_xonxoffflow 和 inx_xonxoffflow
属性的设置问题, 他们为true时, 将#13 和 #11 作为了控制字符, 改为false
就可以了
前段时间我也碰到过,软件已经交付使用才发现的,结果搞的焦头烂额的!
祝大家好运! 呵呵
 
接受答案了.
 

Similar threads

后退
顶部