关于SPCOMM在W7,64位机的通讯问题

dds2014 2015-09-24 01:58:16
在用spcomm控件通讯中,发现在W7、64位的电脑下下发有问题,我把串口的2、3脚短接,下发,跟踪代码是下发成功,结果接收端却没有收到数据,接收我测试过没问题,所以,问题应该是在下发处理的函数,有没有朋友碰到过这个问题,有解决的办法吗?
...全文
722 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
SS2000 2016-12-03
  • 打赏
  • 举报
回复
V2.5版本,在Win7 64位经常收不到数据 把大约1375行的 Result := False 改为 True,就可以了 function TReadThread.HandleReadData( lpszInputBuffer: LPCSTR; dwSizeofBuffer: DWORD ): Boolean; var lpszPostedBytes: LPSTR; begin //Result := False; Result := True;
dds2014 2015-11-06
  • 打赏
  • 举报
回复
引用 6 楼 oushengfen 的回复:
没有问题 自己用API重写一个,也就这么个事情 我前面还用了,你用了那个版本,我目前用的是v2.5,还有一个3.0的,我没有去用
我现在用的就是3.0的版本
dds2014 2015-11-06
  • 打赏
  • 举报
回复
引用 6 楼 oushengfen 的回复:
没有问题 自己用API重写一个,也就这么个事情 我前面还用了,你用了那个版本,我目前用的是v2.5,还有一个3.0的,我没有去用
V2.5的是不是没有我说的这个问题?
oushengfen 2015-10-12
  • 打赏
  • 举报
回复
没有问题
自己用API重写一个,也就这么个事情

我前面还用了,你用了那个版本,我目前用的是v2.5,还有一个3.0的,我没有去用
doloopcn 2015-10-10
  • 打赏
  • 举报
回复
会不会是驱动问题 试着更新COM口驱动为主板的官方驱动
dds2014 2015-10-09
  • 打赏
  • 举报
回复
引用 2 楼 Mike1234567890 的回复:
会不会是API初始化的参数不对啊 在64位下有些系统结构定义变了
我测试了: 1、用虚拟串口跟spcomm可以正常的相互收发数据,因为我对这个虚拟串口原理不太了解,跟实际的串口或许有差别; 2、spcomm可以接收主动上送的数据,当然这个主动上送的设备跟我现在测试的设备不一样; 3、今天测试了,用:spcomm发送数据-》采集器-》仪表-》采集器,到这里为止都能看到有数据在传递,但是采集器到spcomm这步没成功,因为spcomm没收到数据,应该说是没触发接收线程。 其实很早的时候就碰到过这个问题,我自己写的串口Dll在电脑XP换Win7的时候就是这种现象,数据收不到,后来改动一个地方,数据就能收到,只是时间久了而且代码里也没做注释,一下子找不到了。
孤独de猫 2015-09-26
  • 打赏
  • 举报
回复
直接 用串口助手 ,去看看是否正常。
软件高手_2016 2015-09-26
  • 打赏
  • 举报
回复
会不会是API初始化的参数不对啊 在64位下有些系统结构定义变了
dds2014 2015-09-25
  • 打赏
  • 举报
回复
没人在W7 64位机上用过这个控件吗?

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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