usb-hid通讯编程,如果循环readfile超时后,数据接收错乱

问题描述

hid通讯编程,如果循环readfile超时后,数据接收错乱

hid通讯编程,如果循环readfile超时后结束等待,最后一次将会将下一次上传的数据接收到,导致下一次的接收接收不到,这个有没有什么好的解决办法啊?
各位大神,谁曾经有过这方面的研究,还望指点一下,,,

解决方案

http://bbs.eeworld.com.cn/thread-120873-1-1.html

时间: 2024-10-30 22:23:49

usb-hid通讯编程,如果循环readfile超时后,数据接收错乱的相关文章

c++-如何在windows下C++编程实现循环发送定长数据包?

问题描述 如何在windows下C++编程实现循环发送定长数据包? 为了对内部网络进行相关测试,所以要用C++编程实现一个循环发包程序,用QT平台进行开发,要发送的数据包都是同样大小,且大小由用户自行设置,用户设置的大小是整个数据包的大小,包括Ip头等等.所以想请问一下这个要用什么实现?rawsocket可以吗? 解决方案 http://www.cnblogs.com/shenck/p/4075141.html

mdk5-观察到一个现象:usb HID设备在成功枚举完了之后就与主机不通讯了,怎么重新开始通讯呢?

问题描述 观察到一个现象:usb HID设备在成功枚举完了之后就与主机不通讯了,怎么重新开始通讯呢? stm32f103zet6,开发环境mdk517,用的是st官方给的hid的键盘的例程,usb能成功被枚举,而且显示有一个标准的输入设备,但是我再debug模式下起初在枚举阶段我能看到在中断函数中设置的中断点出停下来,说明主机给设备发了一些东西,但是当主机成功枚举之后,pc上显示这个设备运转正常,这个时候再在中断函数中任何地方设置断点都没有作用,也就是说这时主机就没有给设备发in包,那岂不是直接

mfc usb hid-用mfc编写usb hid上位机,readfile 总是返回错误6

问题描述 用mfc编写usb hid上位机,readfile 总是返回错误6 CString szTemp; OVERLAPPED ReadOverlapped; char ReadReportBuffer[1024]; CComboBox* pCombo = (CComboBox*)GetDlgItem(IDC_COMBO_SEARCH); /****************************************************************************

异常-USB打印机 VC编程ReadFile 出错

问题描述 USB打印机 VC编程ReadFile 出错 各位高手,请教个USB打印机读取数据异常的问题:USB打印机是USB Printing Support 类,我用CreateFile.WriteFile.ReadFile对打印机进行读写操作,WriteFile正常,但是ReadFile后GetLastError返回的是6,即句柄无效:这是什么情况? 解决方案 能不能在描述清楚一点啊! 解决方案二: 打印机只能输出,它又不是扫描仪!

C# 访问USB(HID)设备

原文:C# 访问USB(HID)设备 二话不说,直接给代码,如果您真想做这方面的东西,还是稍微研究下,没有现成的好类用,就需要自己了解其原理 //引用空间using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Ru

usb hid 报告字节数 变长传输

问题描述 usb hid 报告字节数 变长传输 想请教一个关于hid通信过程中报告传输数据的字节数的问题. 1.下位机规定报告字节数最大为64字节 2.通信协议是不定长的,每条命令返回值长度不同,下位机不会自动补全64字节. ** Q1.我在编写上位机过程中使用windows的 ReadFile 读取的时候,发现下位机返回数据不够64字节的时候ReadFile没有数据,只有够了64字节才会读到数据.而我想实现的是能够读取下位机返回的变长数据,因为下位机没有补全64字节,我可以怎么尝试?** 我自

qt4-qt C++编程for循环问题

问题描述 qt C++编程for循环问题 代码如下,为循环生成5个矩形 int i=0; int j=0; for(int n=0;n<5;n++){ QPixmap bg(10,10); QPainter p(&bg); p.setPen(QPen(Qt::white)) p.setBrush(QBrush(Qt::black)); scene->addRect(i,j,i+10,j+10,p.pen(),p.brush()); i=i+10; } scene为QGraphicsSc

shell编程for循环的问题

问题描述 shell编程for循环的问题 在linux下,应该怎样编程利用for循环实现1+2+..+n? 解决方案 #!/bin/bash total=0 n=100 for ((j=1;j<=n;j++)) do total=`expr $total + $j` done echo "The result is $total" 解决方案二: #! /bin/bash total=0; n=100 for((i=1;i<=n;i++)) do let "tota

《C#并发编程经典实例》—— 超时

声明:本文是<C#并发编程经典实例>的样章,感谢图灵授权并发编程网站发布样章,禁止以任何形式转载此文. 问题 我们希望事件能在预定的时间内到达,即使事件不到达,也要确保程序能及时进行响应. 通常此类事件是单一的异步操作(例如,等待 Web 服务请求的响应). 解决方案 Timeout 操 作 符 在 输 入 流 上 建 立 一 个 可 调 节 的 超 时 窗 口. 一 旦 新 的 事 件 到 达, 就 重 置 超 时 窗 口. 如 果 超 过 期 限 后 事 件 仍 没 到 达,Timeout