[求助] Atmel MCU的ASF库USB device CDC接收数据有问题,大家有遇到过吗?

wangwang328   2017-11-27 10:46 楼主
使用软件平台:AtmelStudio7,ASF版本3.35.1 ,模块USB device CDC
硬件Atmel SAMDA1
实现功能:USB Device收发
代码:
udc_start();
       
        // The main loop manages only the power mode
        // because the USB management is done by interrupt
        while(true)
        {
                if(udi_cdc_is_rx_ready())
                { // USB有数据送过来
                        /* 接收PC送来的数据 */
                        usbReveiveBytes = udi_cdc_get_nb_received_data();
                        memset(usbReceiveBuffer,0,200); // 缓冲区清零
                        udi_cdc_read_buf(usbReceiveBuffer,usbReveiveBytes);

                        /* 判断数据 */
                        if(usbReceiveBuffer[0] == 'A'
                        && usbReceiveBuffer[1] == 'B'
                        && usbReceiveBuffer[2] == 'C'
                        && usbReceiveBuffer[3] == 'D')
                        {
                                usb_send_bytes((uint8_t *)"OK\r\n",4);
                        }
                        else
                        {
                                usb_send_bytes((uint8_t *)"Error\r\n",7);
                        }
                }
        }
问题:udi_cdc_read_buf(usbReceiveBuffer,usbReveiveBytes);接收错误,上述代码,我发送“ABCD”返回Error,发送“ ABCD”则返回OK,不知道为什么,库文件没有改动过,谁遇到过帮忙看看,谢谢1

回复评论 (2)

后面这个是“ ABCD”,字符串开始有一个空格
点赞  2017-11-27 10:48
你好,我司是microchip代理商,我司有专门的FAE帮您解决,有需要请联系我13798245017
点赞  2017-12-29 14:26
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复