Mscomm中如何发送大于128的数(50分)

  • 主题发起人 主题发起人 dracula_king
  • 开始时间 开始时间
D

dracula_king

Unregistered / Unconfirmed
GUEST, unregistred user!
通讯中Mscomm发送大于128的数,另一台机器收到的是0
请问:Mscomm中如何发送大于128的数?
 
Mscomm中发送大于128的数受操作系统环境影响,在中文WIN中不能直接做到!
因为PWIN使用的是DBCS(双字节字符集),前0~128之间为ASCII字符,大于128的仅为前导字符。
 
用SPcom能解决所有问题
 
SPcomm不能清空接收缓冲区
 
用TComport啦
 
For Example:

var redata:variant;
redate:byte;
result:string;
recount:integer;
mode:string;
if (fMScomm.portopen) then
begin
if mode='Text' then
begin
fMScomm.inputmode:=cominputmodetext;
result:fMScomm.input;
end
else
begin
result:=''
recount:=fMScomm.inbuffercount;
redata:=VarArrayCreate([0,127],varbyte);
redata:=fMScomm.input;
for i:=0 to recount-1 do
begin
redate:=redata;
result:=result+chr(redate);
end;
fMScomm.inputmode:=cominputmodetext;
end;
end;
 
没有解决办法?
 
接收答案了
 
那如果是发送大于128的数据到单片机种,改如何发送呢!!
请教!!
 
如果用MSCOMM有没有办法发送大于$81的数据?
请教!!
 
我看过资料有办法,不过我没有试过,不清楚效果。
 
楼上的那位大侠,能帮我查一下资料么?
看看如何发送大于$81的数据!
小弟我感激不尽!
我的邮箱是jiexianjin@163.com
 
后退
顶部