打印

STM32 虚拟串口传输数据有误.求圈圈解答

[复制链接]
1852|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 a6482546 于 2013-12-5 17:56 编辑

STM32 虚拟串口传输数据有误.一次最大传输64BYTE.
    while (1)
    {
                while(scankeyup("A61440_2"));
        //        rt_thread_delay(MSec(10));        
        //        rt_kprintf("send data\n");
                Send_Buffer[0]++;
                Send_Buffer[1]++;[attachimg]156712
                USB_SIL_Write(EP1_IN, (uint8_t*) Send_Buffer, 63);  
                //USB_SIL_Write(EP1_IN, (uint8_t*) Send_Buffer, 64);  
                   SetEPTxValid(ENDP1);
        //        while(scankeydown("A61440_2"));
     }        
延时加上时数据时正确的.当延时去掉了.数据就不对了
顺便问一下为什么用USB_SIL_Write(EP1_IN, (uint8_t*) Send_Buffer, 64)传送就不成功。

相关帖子

沙发
a6482546|  楼主 | 2013-12-6 08:49 | 只看该作者
自己顶一下..

使用特权

评论回复
板凳
a6482546|  楼主 | 2013-12-6 11:10 | 只看该作者
是我问题太简单么。如果是太简单..你骂我2然后给我解答也好啊.

使用特权

评论回复
地板
fengdingkusong| | 2013-12-13 15:44 | 只看该作者
看来用rt-thread的人越来越多了呀,是数据丢失还是数据错误?有没有考虑到是硬件的电源或者地的问题呢?

使用特权

评论回复
5
a6482546|  楼主 | 2013-12-16 11:31 | 只看该作者
问题已经解决..去别的论坛问的..这问题也是比较2.判断一下标志位就不会出现数据丢失了..传64位数据时,需要在后面发个0长度的包.

使用特权

评论回复
6
abswzp| | 2015-9-29 10:45 | 只看该作者
我也发现这个问题了, 论坛里有这样的说法: 如果发64字节(full speed, 批量传输数据最大就是64字节),usb host认为后面还有数据,不会立即上报给应用程序

使用特权

评论回复
7
terrynick| | 2015-10-5 12:04 | 只看该作者
想請問樓主使用的封包軟體是甚麼? win7 可以使用嗎?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

56

帖子

0

粉丝