STM32 USB HID问题 请高手指点

[复制链接]
2364|8
 楼主| lanke2009 发表于 2013-8-4 14:35 | 显示全部楼层 |阅读模式
在使用UserToPMABufferCopy(Buffer, GetEPTxAddr(ENDP1), 8);总是不停的连续发送同样的数据,不能发送完成。程序如下:
void Joystick_Send(uint8_t Keys)
{
        uint8_t Buffer[8] = {0, 0, 0, 0, 0, 0, 0, 0};
        int8_t i = 2;
        Buffer[i]=0x04; //Keyboard Return (ENTER)
        i++;
        Buffer[i]=0x05; //Keyboard Return (ENTER)
        i++;
        /* prepare buffer to send */
       
        while (SendOverFlag != 1); //等待上一次发送完
        SendOverFlag = 0;
        //while(EP_TX_NAK !=GetEPTxStatus(ENDP1))
        UserToPMABufferCopy(Buffer, GetEPTxAddr(ENDP1), 8);  
        SetEPTxCount(ENDP1, 8);
       
        /* enable endpoint for transmission */
        SetEPTxValid(ENDP1);  
}

在记事本中接收连续的“ab”,不会停止
如:ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababa
求高手指点!!
hkcj 发表于 2013-8-4 19:02 | 显示全部楼层
不是很了解   楼主   帮你顶一个   看看别人的意见   
hkcj 发表于 2013-8-4 19:02 | 显示全部楼层
感觉应该是标志位没有清除   
zeluo 发表于 2013-8-4 19:22 | 显示全部楼层
不是很了解   楼主   帮你顶一个   看看别人的意见   
zeluo 发表于 2013-8-4 19:23 | 显示全部楼层
应该有高手能够帮你解决   
fane 发表于 2013-8-4 22:41 | 显示全部楼层
没有发送按键松开指令
  memset(Buffer,0,8);
    USB_SIL_Write(ENDP1,Buffer,8);
    SetEPTxValid(ENDP1);
  
 楼主| lanke2009 发表于 2013-8-5 17:55 | 显示全部楼层
fane 发表于 2013-8-4 22:41
没有发送按键松开指令
  memset(Buffer,0,8);
    USB_SIL_Write(ENDP1,Buffer,8);

不是很明白,我应该在什么时候调用这个函数?
cjhk 发表于 2013-8-5 18:57 | 显示全部楼层
我不是很懂   楼主  帮你顶一个  一定不能下沉啊
fane 发表于 2013-8-9 10:09 | 显示全部楼层
在你调用void Joystick_Send(uint8_t Keys)完成后,然后再调用一次,不过这时要发送的是8个0
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部