查看: 776|回复: 0
打印 上一主题 下一主题

USB枚举成功了,可是通信却失败了,来个大神解救我吧

[复制链接]
跳转到指定楼层
沙发
发表于 2015-9-18 10:50:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下面有两个图,第一个是USB枚举成功时捕获的数据;第二个是通信时枚举失败的情况。
我是把USB设备枚举成了一个鼠标设备,可是通过外部中断响应进行通信后,就会提示枚举失败。
以下是外部中断响应函数:

uint8_t *WritePosition(void)
{
        static uint8_t buffer[4] = {0};
        buffer[3]        = -1;
        return buffer;
}

void EXTI3_IRQHandler()
{
        uint8_t * buff;
        uint16_t len;

        // 判断中断是否发生
        if(EXTI->PR & EXTI_PR_PR3){
                buff = WritePosition();
                if(buff[0] != 0 || buff[1] != 0 || buff[2] != 0 || buff[3] != 0){
                        len = 4;
                        Get_EP_Content(&ep_in[1], buff, len);

                        DATA_READY(4, 1);
                }
        }
        // 清除中断标志位
        EXTI->PR        |= EXTI_PR_PR3;
}转载

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表