|
附件是从网上下载的,貌似是官方工程师帮助客户解决问题的。 但是只说原因,并没有说如何解决,看了很久自己并没有解决这个问题,所以来这里问问,如何解决。 我现在的解决方法是这样的
查了很久也没有人说这个事。 希望各位能帮忙看一下。 |
VCPä¾ç¨ç¨äºæ°æ®ä¼ è¾æ¶ä¸¢å¤±æ°æ®çå¤ç.pdf
下载159.79 KB, 下载次数: 30, 下载积分: ST金币 -1
微信公众号
手机版
高速USB VCP和全速USB VCP 速度对比
https://www.stmcu.org.cn/module/ ... &fromuid=394920
(出处: 意法半导体STM32/STM8技术社区)
谢谢前辈指点,刚看到你的帖子的时候,我用CUBE 生成了一个CDC的虚拟串口,然后把您的usbd_cdc_interface.c函数放到工程中,确实随便发,不出堵的问题。
后来一想,发现原来是每64个字节是需要等一下的,这应该就是包发送的方法吧,之前也想到了用USB_Tx_State(我的那个工程是这样起名字的),但是那个是每APP_TX_DATA_SIZE等待一次,而不是这里的USB_PACK_SIZE 等待一次,就差在这里,我可以通过这个路子再试试。
谢谢,前辈!
另外问一个题外话,请问前辈,keil能在工程下的文件夹下面再次建立子文件夹吗?
目前keil还不能在工程下的文件夹下面再次建立子文件夹。
请问前辈您说的中断在哪里呢?我用CUBE生成的CDC输出是自己写的。
然后main函数去轮询 if(USB_USART_RX_STA&0x8000)。
嗯,应该可用,那么发送完毕有中断吗?
这个真的很坑,把KEIL弄成了编写大工程很不方便的一种工具
前辈 我试过你给的代码 放到相应的地方,串口第一次发数据会调到这个函数里,但是数取不出来,第二次发USB就直接死掉了。
程序应该写的没问题,CUBE生成的,USB向电脑发是可以用的,但是反过来用你的程序就不行了。