找回密码
 立即注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖回复
打印 上一主题 下一主题
开启左侧

[NUC] 【求助】USB带电状态下枚举后第一次数据上传,PC收不到

[复制链接]
板凳
匿名  发表于 2018-7-9 09:52:03
a_ziliu 发表于 2018-7-5 10:46
第一次应该在main之前放入usb buffer之中,後开usb中断,才会第一次取走00 00 04 00 00 00 00 00的资料。
i ...

不行呀,朋友。我这个不是上电一瞬间无法接到,而是只要USB重新枚举后不管等多久都有概率PC接不到第一条数据
回复 支持 反对

使用道具

沙发
a_ziliu 发表于 2018-7-5 10:46:54 | 只看该作者
第一次应该在main之前放入usb buffer之中,後开usb中断,才会第一次取走00 00 04 00 00 00 00 00的资料。
int32_t main(void)
{
    /* Unlock protected registers */
    SYS_UnlockReg();

    SYS_Init();
    UART0_Init();

    printf("\n");
    printf("+--------------------------------------------------------+\n");
    printf("|          NuMicro USB HID Keyboard Sample Code          |\n");
    printf("+--------------------------------------------------------+\n");
    printf("If PB.15 = 0, just report it is key 'a'.\n");

    USBD_Open(&gsInfo, HID_ClassRequest, NULL);

    /* Endpoint configuration */
    HID_Init();
    USBD_Start();
    buf[2] = 0x04; /* Key A */
    USBD_SET_PAYLOAD_LEN(EP2, 8);
    NVIC_EnableIRQ(USBD_IRQn);


    /* start to IN data */
    g_u8EP2Ready = 1;
   
    GPIO_SetMode(PD, BIT2, GPIO_PMD_INPUT);
    GPIO_EnableInt(PD, 2, GPIO_INT_FALLING);
    NVIC_EnableIRQ(GPCDF_IRQn);
    GPIO_SET_DEBOUNCE_TIME(GPIO_DBCLKSRC_LIRC, GPIO_DBCLKSEL_2);
    GPIO_ENABLE_DEBOUNCE(PD, BIT2);
   
    while(1)
    {
        HID_UpdateKbData();
    }
}
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU