VC用控件连续多次发送数据,如何准确接收每次的数据

gzt0806 2014-08-08 01:45:45
如题,小弟用vc控件做的上位机,按一次按钮,需要同时发送三个modbus指令消息。
我的方法是:计算好每条命令发送给下位机 再接收下位机应答信号的总和时间 然后在各次发送之间做相应的延时,我这么做以后 前几次按按钮发送 接受的信息都还行 但是按得次数多了 就会漏掉一些接收数据,调试好久了,不知道该怎么解决,总有偏差,希望大神指点!
...全文
147 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gzt0806 2014-08-08
  • 打赏
  • 举报
回复
引用 5 楼 m617105 的回复:
[quote=引用 4 楼 gzt0806 的回复:] [quote=引用 3 楼 m617105 的回复:] [quote=引用 2 楼 gzt0806 的回复:] [quote=引用 1 楼 m617105 的回复:] 做个先入先出缓冲队列,一个个发送,等待回复并设置超时时间。 当然如果你下位机回复过慢的话,就需要适时的限制点击按钮,比如队列满的时候,不能再点击
额。新手,请问先入先出缓冲队列怎么做啊。能不能讲得具体一点或者贴一点代码例程我看看啊。几天搞不出来,真的很着急额[/quote] 简单点的话,直接用VC里面的list。 按钮点击一下push_back一个命令。 然后专门开个发送线程不断的检索list,如果不为空就从list的开头开始遍历list发送命令。 当然每发送一个命令最好能sleep几毫秒。 关于list相关操作,百度下就出来了。 [/quote]
引用 3 楼 m617105 的回复:
[quote=引用 2 楼 gzt0806 的回复:] [quote=引用 1 楼 m617105 的回复:] 做个先入先出缓冲队列,一个个发送,等待回复并设置超时时间。 当然如果你下位机回复过慢的话,就需要适时的限制点击按钮,比如队列满的时候,不能再点击
额。新手,请问先入先出缓冲队列怎么做啊。能不能讲得具体一点或者贴一点代码例程我看看啊。几天搞不出来,真的很着急额[/quote] 简单点的话,直接用VC里面的list。 按钮点击一下push_back一个命令。 然后专门开个发送线程不断的检索list,如果不为空就从list的开头开始遍历list发送命令。 当然每发送一个命令最好能sleep几毫秒。 关于list相关操作,百度下就出来了。 [/quote]额,我现在也是赶鸭子上架,vc多线程的东西还没看,不过看到你能指导我太开心了,我这就去看看多线程方面的东西,请问你能不能留个qq给我,我想到时候具体问题再问你一下,额,不会经常打扰你的,只是希望在困难的时候能得到高人的点播。我的qq:459772191@qq.com 麻烦你将你的qq号发我邮箱或者你加我都行。太感谢了你了[/quote] 公司不方便上QQ,有问题,来CSDN提问即可。 另外你如果提问VC相关问题的话,最好到: CSDC的VC/MFC板块 你现在提问的板块是C++ Builder 板块。[/quote]额 刚刚太着急 没找到那个版块,那好的吧 ,我有问题私信你吧。这里回复也挺不方便的,真是麻烦你啦。这刚入门我感觉确实比较困难,这时候能得到你们的指点真是太开心了。
浩南_哥 2014-08-08
  • 打赏
  • 举报
回复
引用 5 楼 m617105 的回复:
[quote=引用 4 楼 gzt0806 的回复:] [quote=引用 3 楼 m617105 的回复:] [quote=引用 2 楼 gzt0806 的回复:] [quote=引用 1 楼 m617105 的回复:] 做个先入先出缓冲队列,一个个发送,等待回复并设置超时时间。 当然如果你下位机回复过慢的话,就需要适时的限制点击按钮,比如队列满的时候,不能再点击
额。新手,请问先入先出缓冲队列怎么做啊。能不能讲得具体一点或者贴一点代码例程我看看啊。几天搞不出来,真的很着急额[/quote] 简单点的话,直接用VC里面的list。 按钮点击一下push_back一个命令。 然后专门开个发送线程不断的检索list,如果不为空就从list的开头开始遍历list发送命令。 当然每发送一个命令最好能sleep几毫秒。 关于list相关操作,百度下就出来了。 [/quote]
引用 3 楼 m617105 的回复:
[quote=引用 2 楼 gzt0806 的回复:] [quote=引用 1 楼 m617105 的回复:] 做个先入先出缓冲队列,一个个发送,等待回复并设置超时时间。 当然如果你下位机回复过慢的话,就需要适时的限制点击按钮,比如队列满的时候,不能再点击
额。新手,请问先入先出缓冲队列怎么做啊。能不能讲得具体一点或者贴一点代码例程我看看啊。几天搞不出来,真的很着急额[/quote] 简单点的话,直接用VC里面的list。 按钮点击一下push_back一个命令。 然后专门开个发送线程不断的检索list,如果不为空就从list的开头开始遍历list发送命令。 当然每发送一个命令最好能sleep几毫秒。 关于list相关操作,百度下就出来了。 [/quote]额,我现在也是赶鸭子上架,vc多线程的东西还没看,不过看到你能指导我太开心了,我这就去看看多线程方面的东西,请问你能不能留个qq给我,我想到时候具体问题再问你一下,额,不会经常打扰你的,只是希望在困难的时候能得到高人的点播。我的qq:459772191@qq.com 麻烦你将你的qq号发我邮箱或者你加我都行。太感谢了你了[/quote] 公司不方便上QQ,有问题,来CSDN提问即可。 另外你如果提问VC相关问题的话,最好到: CSDC的VC/MFC板块 你现在提问的板块是C++ Builder 板块。[/quote] 手误。。。。 是CSDN VC/MFC
浩南_哥 2014-08-08
  • 打赏
  • 举报
回复
引用 4 楼 gzt0806 的回复:
[quote=引用 3 楼 m617105 的回复:] [quote=引用 2 楼 gzt0806 的回复:] [quote=引用 1 楼 m617105 的回复:] 做个先入先出缓冲队列,一个个发送,等待回复并设置超时时间。 当然如果你下位机回复过慢的话,就需要适时的限制点击按钮,比如队列满的时候,不能再点击
额。新手,请问先入先出缓冲队列怎么做啊。能不能讲得具体一点或者贴一点代码例程我看看啊。几天搞不出来,真的很着急额[/quote] 简单点的话,直接用VC里面的list。 按钮点击一下push_back一个命令。 然后专门开个发送线程不断的检索list,如果不为空就从list的开头开始遍历list发送命令。 当然每发送一个命令最好能sleep几毫秒。 关于list相关操作,百度下就出来了。 [/quote]
引用 3 楼 m617105 的回复:
[quote=引用 2 楼 gzt0806 的回复:] [quote=引用 1 楼 m617105 的回复:] 做个先入先出缓冲队列,一个个发送,等待回复并设置超时时间。 当然如果你下位机回复过慢的话,就需要适时的限制点击按钮,比如队列满的时候,不能再点击
额。新手,请问先入先出缓冲队列怎么做啊。能不能讲得具体一点或者贴一点代码例程我看看啊。几天搞不出来,真的很着急额[/quote] 简单点的话,直接用VC里面的list。 按钮点击一下push_back一个命令。 然后专门开个发送线程不断的检索list,如果不为空就从list的开头开始遍历list发送命令。 当然每发送一个命令最好能sleep几毫秒。 关于list相关操作,百度下就出来了。 [/quote]额,我现在也是赶鸭子上架,vc多线程的东西还没看,不过看到你能指导我太开心了,我这就去看看多线程方面的东西,请问你能不能留个qq给我,我想到时候具体问题再问你一下,额,不会经常打扰你的,只是希望在困难的时候能得到高人的点播。我的qq:459772191@qq.com 麻烦你将你的qq号发我邮箱或者你加我都行。太感谢了你了[/quote] 公司不方便上QQ,有问题,来CSDN提问即可。 另外你如果提问VC相关问题的话,最好到: CSDC的VC/MFC板块 你现在提问的板块是C++ Builder 板块。
gzt0806 2014-08-08
  • 打赏
  • 举报
回复
引用 3 楼 m617105 的回复:
[quote=引用 2 楼 gzt0806 的回复:] [quote=引用 1 楼 m617105 的回复:] 做个先入先出缓冲队列,一个个发送,等待回复并设置超时时间。 当然如果你下位机回复过慢的话,就需要适时的限制点击按钮,比如队列满的时候,不能再点击
额。新手,请问先入先出缓冲队列怎么做啊。能不能讲得具体一点或者贴一点代码例程我看看啊。几天搞不出来,真的很着急额[/quote] 简单点的话,直接用VC里面的list。 按钮点击一下push_back一个命令。 然后专门开个发送线程不断的检索list,如果不为空就从list的开头开始遍历list发送命令。 当然每发送一个命令最好能sleep几毫秒。 关于list相关操作,百度下就出来了。 [/quote]
引用 3 楼 m617105 的回复:
[quote=引用 2 楼 gzt0806 的回复:] [quote=引用 1 楼 m617105 的回复:] 做个先入先出缓冲队列,一个个发送,等待回复并设置超时时间。 当然如果你下位机回复过慢的话,就需要适时的限制点击按钮,比如队列满的时候,不能再点击
额。新手,请问先入先出缓冲队列怎么做啊。能不能讲得具体一点或者贴一点代码例程我看看啊。几天搞不出来,真的很着急额[/quote] 简单点的话,直接用VC里面的list。 按钮点击一下push_back一个命令。 然后专门开个发送线程不断的检索list,如果不为空就从list的开头开始遍历list发送命令。 当然每发送一个命令最好能sleep几毫秒。 关于list相关操作,百度下就出来了。 [/quote]额,我现在也是赶鸭子上架,vc多线程的东西还没看,不过看到你能指导我太开心了,我这就去看看多线程方面的东西,请问你能不能留个qq给我,我想到时候具体问题再问你一下,额,不会经常打扰你的,只是希望在困难的时候能得到高人的点播。我的qq:459772191@qq.com 麻烦你将你的qq号发我邮箱或者你加我都行。太感谢了你了
浩南_哥 2014-08-08
  • 打赏
  • 举报
回复
引用 2 楼 gzt0806 的回复:
[quote=引用 1 楼 m617105 的回复:] 做个先入先出缓冲队列,一个个发送,等待回复并设置超时时间。 当然如果你下位机回复过慢的话,就需要适时的限制点击按钮,比如队列满的时候,不能再点击
额。新手,请问先入先出缓冲队列怎么做啊。能不能讲得具体一点或者贴一点代码例程我看看啊。几天搞不出来,真的很着急额[/quote] 简单点的话,直接用VC里面的list。 按钮点击一下push_back一个命令。 然后专门开个发送线程不断的检索list,如果不为空就从list的开头开始遍历list发送命令。 当然每发送一个命令最好能sleep几毫秒。 关于list相关操作,百度下就出来了。
gzt0806 2014-08-08
  • 打赏
  • 举报
回复
引用 1 楼 m617105 的回复:
做个先入先出缓冲队列,一个个发送,等待回复并设置超时时间。 当然如果你下位机回复过慢的话,就需要适时的限制点击按钮,比如队列满的时候,不能再点击
额。新手,请问先入先出缓冲队列怎么做啊。能不能讲得具体一点或者贴一点代码例程我看看啊。几天搞不出来,真的很着急额
浩南_哥 2014-08-08
  • 打赏
  • 举报
回复
做个先入先出缓冲队列,一个个发送,等待回复并设置超时时间。 当然如果你下位机回复过慢的话,就需要适时的限制点击按钮,比如队列满的时候,不能再点击

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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