c8051
你行你上天
专注:智能硬件,信号处理算法,数据挖掘算法,Labview虚拟仪器
展开
-
USB键盘鼠标报告描述符解释
这是见到的描述鼠标和键盘描述符最清楚、简洁的文章,转载分享。原文地址:http://blog.sina.com.cn/s/blog_4d295e4901019mjs.html 在USB中,USB HOST是通过各种描述符来识别设备的,有设备描述符,配置描述符,接口描述符,端点描述符,字符串描述符,报告描述符等等。USB报告描述符(Report Descriptor)转载 2017-03-14 20:53:53 · 8953 阅读 · 0 评论 -
C8051F380 USB鼠标例程报告描述符修改问题
直接使用F380的USB鼠标例程进行开发,只将数组IN_PACKET修改是不行的,将发现仍然只显示左键。仔细查看报告描述符,发现需要修改报告描述符。原有的报告描述符,摘录部分如下: 0x05, 0x09, // Usage Page (Buttons) 0x19, 0x01,原创 2017-03-14 21:05:31 · 1080 阅读 · 0 评论 -
C8051F没有无法进main函数的解决办法之一
用C8051F040做项目时,本来程序可以正常运行,添加一部分程序后发现无法进入main函数。断点调试发现,在文件STARTUP.A51中,跳转到 LJMP ?C_START 后, 又重新跳回 IDATALOOP: MOV @R0,A DJNZ R0,IDATALOOP ...原创 2017-06-10 21:49:14 · 2368 阅读 · 0 评论 -
自制的轨迹球(鼠标)按键异常问题
用C8051F380开发的轨迹球,有左、中、右三个按键。每次按下任一按键,电脑无响应,需再按下另一按键后,之前的按键才有响应。 经测试,正确的操作姿势应该是:每按下一个键后,上报一次USB信息,松开后再上报一次(即告诉上位机此键已经松开)。 所以,程序里的逻辑应该是:每当按键的状态有变化,就上报一次按键状态。我在程序中是在20ms一次的定时器中断中判断按键是否原创 2017-09-02 17:23:27 · 1622 阅读 · 0 评论 -
提高USB HID设备速率的方法——基于C8051F380
项目采用C8051F380的USB2.0接口实现HID设备(配置为Game Controller)。利用端点1发送数据,每包12个字节。经测试,即使设备什么也不做,仅在main函数的while(1)循环中持续发送数据,最快数据也仅达到5ms一包。后查阅资料,得到了如下结论,提高了发送速率(参考资料见后面的几幅图片): 1、USB HID设备上报数据采用的端点1必须配置为...原创 2018-03-29 14:40:05 · 10463 阅读 · 4 评论