完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在PIC24FJ64GB002中使用鼠标HOST-HID软件,该软件与标准鼠标工作得很好,但是当我连接ERGO触摸板时,我得到了USB_ENDPOINT_ERROR_ILLEGAL_PID。进一步的调查使我发现“USB错误ISR”被触发,并且导致pCurrentEndpoint->status.bfErrorCount增加,并且在这些ILLEGAL_PID触发20次之后(由USB_TRANSAC._RETRY_ATTEMPTS设置)。它将数据长度设置为13字节而不是4字节。有人能帮忙吗?
|
|
相关推荐
2个回答
|
|
也许,您正在处理主机HID鼠标示例,该错误是在事务发生错误时检测到的一个MLA.ILALLALALPID错误;它可能是任何类型的事务错误,但最可能的是,缓冲区溢出错误-缓冲描述符上的缓冲区比IN TRAN的有效负载短。在这里,定义了XY轴值的位数(8/16/32),在这里,定义了HIDXMAXDATAiFieldIZE大小,使其与ErGo触摸的位大小相适应。PAD's2)固件根据解析的报表描述符确定缓冲器的大小。在上面一行的下一行上设置一个断点,检查鼠标大小值。根据您的描述,它应该是13字节。如果不是13,分析器就不能解释报表描述符,可能是因为堆分析报告描述符的不足占用了大堆。堆大小在MPLABX IDE的Project属性对话框中被调整。-右键单击“USB主机-HID—“鼠标”在“项目”窗格上,--“项目属性”对话框显示XC16(全局选项)>xc16-ld>Heap Sizemicro._._v2013-06-15或前者1)XY轴字段的位大小在这里定义,u***_config.hdefine HID_MAX_DATA_FIELD_SIZE 82)在最后一行放置断点,并且检查Apple RaWyRePosixBuff.RePosithSoad的值-如果不是13,则应该是13,调整堆大小,就像上面的例子。
|
|
|
|
您的UBLYSER跟踪表明触摸板不能在SETION配置请求之后立即启用端点中断。然后,IN传输请求失败,没有响应错误。作为这个错误的恢复序列,Windows提出了两个请求,即GETYBuxDistor(设备)-CurryType(EndoPoTo.Halt)。我制作了一个“有缺陷的”HID设备,修改了其中一个MLA示例,它的行为类似于您的。这里是这个设备在Windows 7上的总线跟踪。在三次“无响应”错误之后。在事务中,Windows PUT-GETXML描述符(设备)两次,-CurryStand(EndoPoTo.Halt)三次-一次输出,两次同时为INSUBLYSEER跟踪,它与您的显示几乎相同。请求在PIC主机上,UBSHObjeCeDeCeReSuffE()返回而不阻塞。请求完成的是USBHostTransferIsComplete(Deice In FooHID(0).ID.DeVice地址,0,&Error Cal码,and BytCeNoCt);
|
|
|
|
只有小组成员才能发言,加入小组>>
5228 浏览 9 评论
2026 浏览 8 评论
1950 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3199 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2253 浏览 5 评论
770浏览 1评论
658浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
585浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
668浏览 0评论
570浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 11:50 , Processed in 1.347260 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号