Delphi Spcomm的设置问题

使用QComm发送字符串可以正常通讯。使用串口助手发送字符串无法通讯。Delphi使用SPCOMM也无法通讯//程序的设置functionTComm232.InitCom... 使用QComm发送字符串可以正常通讯。
使用串口助手发送字符串无法通讯。
Delphi 使用SPCOMM也无法通讯

//程序的设置
function TComm232.InitComm(Str_CommName,Str_BaudRate,Str_DataSize,Str_StopBits,Str_Parity:string):Integer;
var
i_BaudRate,i_ByteSizeIndex,i_StopBitsIndex,i_ParityIndex:Integer;
begin
Result:=0;
i_BaudRate:=StrToIntDef(Str_BaudRate,230400);
if Str_DataSize='5' then i_ByteSizeIndex:=0
else if Str_DataSize='6' then i_ByteSizeIndex:=1
else if Str_DataSize='7' then i_ByteSizeIndex:=2
else if Str_DataSize='8' then i_ByteSizeIndex:=3
else i_ByteSizeIndex:=3;
if Str_StopBits='2' then i_StopBitsIndex:=2
else if Str_StopBits='1.5' then i_StopBitsIndex:=1
else if Str_StopBits='1' then i_StopBitsIndex:=0;
if Str_Parity='Even' then i_ParityIndex:=0
else if Str_Parity='Mark' then i_ParityIndex:=1
else if Str_Parity='None' then i_ParityIndex:=2
else if Str_Parity='Odd' then i_ParityIndex:=3
else if Str_Parity='Space' then i_ParityIndex:=4
else i_ParityIndex:=2;
Comm.CommName:='//./'+Str_CommName;
Comm.BaudRate:=i_Baudrate;
Comm.ByteSize:=TEumn_ByteSize[i_ByteSizeIndex];
Comm.StopBits:=TEumn_StopBits[i_StopBitsIndex];
Comm.Parity:=TEumn_Parity[i_ParityIndex];

Comm.Outx_CtsFlow:= False;
Comm.Outx_DsrFlow:=False;
Comm.DtrControl:=DtrDisable;
Comm.TxContinueOnXoff:=False;
Comm.RtsControl:=RtsDisable;

Comm.XonLimit:=4096;
Comm.XoffLimit:=1024;

Comm.ReadIntervalTimeout:=1;
//Start
Comm.Inx_XonXoffFlow:=False;
Comm.Outx_XonXoffFlow:=False;
Comm.StopComm;
try
Comm.StartComm;
Sleep(180);
except
Result:=-1;
Comm.StopComm;
Exit;
end;
end;

我程序里应该怎么设置才能和QCOM一样? 做到正常通讯,急死人!
展开
 我来答
syht2000
高粉答主

2014-08-26 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
凡是这类问题,用你正常的QComm按你之前的正确设置向一个虚拟串口发送数据(比如连到com7,不要说你不知道VPSD是什么。。。),同时用串口调试助手在另一个虚拟串口上接收数据(以十六进制显示,比如是com8),看看收到的数据是什么。记一下这个数据,关掉 QComm,然后同样用spcomm向com7发送同样的数据,再看看串口调试助手收到的又是什么,比较一下二者的数据
追问
谢谢你的思路,是由于串口设置掩码的问题(spcomm的默认掩码无法触发,用Api设置就可以了)而导致无法触发接收数据事件。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式