为什么spcomm中用comm1.WriteCommData写数据失败?

Dingnifei123 2009-07-02 02:01:00
在程序中,我用SPCOMM来和设备通讯,

通讯过程用AccessPort(串口读写数据监控软件)监控,

但是时常发现当用


boolean bWrite ;
bWrite := comm1.WriteCommData(@Arr[0],len);
往串口写数据时,

虽然返回值bWrite为Ture,但是在AccessPort中看不到写入的数据,

不知道怎么回事?!

麻烦大家帮看看,非常感谢。

另外,comm1.ReadIntervalTimeout是什么意思?
...全文
427 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dingnifei123 2009-07-03
  • 打赏
  • 举报
回复
谢谢,结贴!
Dingnifei123 2009-07-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lyguo 的回复:]
FTComm.Inx_XonXoffFlow := False;
FTComm.Outx_XonXoffFlow := False;

试下
[/Quote]
谢谢,
我改了一下,暂时看来,好像情况好很多,
大部分情况下都可以写入,

可以麻烦说说这样改的原因吗?
lyguo 2009-07-02
  • 打赏
  • 举报
回复
FTComm.Inx_XonXoffFlow := False;
FTComm.Outx_XonXoffFlow := False;

试下
Dingnifei123 2009-07-02
  • 打赏
  • 举报
回复
还有就是WriteCommData每次都返回说写成功了,

不知道这是为什么,

大胆猜测,会不会是spcomm的问题呢?!
Dingnifei123 2009-07-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]
ReadIntervalTimeout,超时设置
没有发送成功,看看是不是设置的问题,或者Arr[0]中是否有内容,或者Arr[0]是否符合传输协议规范
[/Quote]
非常感谢您的快速回复!

不知道您指的“设置问题”是什么问题?

另外Arr数组是这样定义的:


const
Arr: array[0..12] of byte =($10,$12,$12,$65,$63,$74,$42,$61,$6E,$60,$25,$14,$85);

我想这样应该不会有什么问题。

并且,是有时写成功,有时写失败,最头疼的就是这样,
bdmh 2009-07-02
  • 打赏
  • 举报
回复
ReadIntervalTimeout,超时设置
没有发送成功,看看是不是设置的问题,或者Arr[0]中是否有内容,或者Arr[0]是否符合传输协议规范

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧