关于LPC1343的USB_HID键盘的端点数据发送问题

2019-03-25 20:45发布

我用lpc1343枚举了一个USB HID键盘设备,描述符我用的USB 键盘的,以前用过没问题的。
用end1 发送键盘数据,但是空闲时段一直发送0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00.但是按键数据又是正常的,就是表象没什么影响。不知道会不会对别的有影响。我的程序如下:
void USB_EndPoint1 (uint32_t event)
{
        switch (event) {
                case USB_EVT_IN:
                GetInReport();
                if(InReport==1){
                        InBuff[2]=0x62;
                        USB_WriteEP(0x81, InBuff, sizeof(InBuff));
                }
                else{
                        InBuff[2]=0x00;
                        USB_WriteEP(0x81, InBuff, sizeof(InBuff));
                }
                break;
        }
}
如果我把else里面的USB_WriteEP(0x81, InBuff, sizeof(InBuff));注释掉就发生了完全没有数据产生。这个算什么问题?希望有人指导下疑惑。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
zhaojun_xf
1楼-- · 2019-03-26 00:41
_NXP LPC1000_ 没弄过,也没有1343,帮顶,望高人来解决!!!!
linda
2楼-- · 2019-03-26 03:53
computer00:

空闲的时候发送全0的数据包是没啥大问题的,就是有点占用总线的带宽,基本上也可以忽略了。
可以考虑只在按键状态发生变化时,才发送数据包。
zhangkezhi
3楼-- · 2019-03-26 08:22

我也想问一下这个问题,修改该怎么样修改,是修改USB的描述符还是修改端点的发送过程? HID不是可以在发生中断事件的时候再进行传输数据吗??这样的话是不是要修改某些描述符,请高人指点!!!!

utopiaprince
4楼-- · 2019-03-26 08:40

谢谢soso姐,这个问题我在别的地方得到的答案也是对实际的应用没太大影响。如果不考虑带宽的情况。谢谢了。

 

另外他说的再按键发生改变时候发送数据。我也做过这样的处理。但是如果做了这样的处理就会导致没有数据发送。我用LED的亮灭来查看,发现会进入不了这个中断。

主要问题就是这个了。

[ 本帖最后由 utopiaprince 于 2010-7-2 20:33 编辑 ]
utopiaprince
5楼-- · 2019-03-26 13:22
修改描述符是去修改usb传输的方式,选择的端点,以及端点数据大小这些属性类的东西。
在发生中断事件的时候再进行传输数据这个是决定具体数据的发送了。而且我发现在主函数里面直接往端点发送数据,结果是一样的。
感觉有点像串口发送的中断发送方式跟手动往BUFF里面写数据一样。
不知道理解的对不对。
kata
6楼-- · 2019-03-26 15:56
 精彩回答 2  元偷偷看……

一周热门 更多>