[STM32] 基于STM32F103的USB VCD代码.doc

上传人:s9****2 文档编号:511656074 上传时间:2023-09-06 格式:DOC 页数:7 大小:18.76KB
返回 下载 相关 举报
[STM32] 基于STM32F103的USB VCD代码.doc_第1页
第1页 / 共7页
[STM32] 基于STM32F103的USB VCD代码.doc_第2页
第2页 / 共7页
[STM32] 基于STM32F103的USB VCD代码.doc_第3页
第3页 / 共7页
[STM32] 基于STM32F103的USB VCD代码.doc_第4页
第4页 / 共7页
[STM32] 基于STM32F103的USB VCD代码.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《[STM32] 基于STM32F103的USB VCD代码.doc》由会员分享,可在线阅读,更多相关《[STM32] 基于STM32F103的USB VCD代码.doc(7页珍藏版)》请在金锄头文库上搜索。

1、ST官网上的USB VCD例程总是有问题我改了一个,今天测试了下,115200BPS下10MB字节无差错。应该还可以了。放在这里大家共享下。 VCD V2.0.0.zip (309.63 KB) 这个例子我在ST的新三合一板子上跑的,这块板子的USB上拉电阻的使能管脚是PA8,所以如果要在其他板子上跑,要根据自己的板子改下这个使能管脚。还有,这个例子是在IAR5.5上改的,所以建议在IAR5.5下打开项目,如果是IAR5.5以下版本,可能会丢失项目的配置信息。本主题由 香水城 于 2011-1-4 14:03 解除置顶分享本文到: 帖子: 192积分: 577专家等级: mcu5i51发表于

2、2010-7-31 08:59 | 只看该作者 回复 引用 返回版面 TOP?得分:02楼:怎么用呀,还是顶一下,最好上图或说明帖子: 81积分: 243专家等级: henry_wu001发表于 2010-7-31 17:27 | 只看该作者 回复 引用 返回版面 TOP?得分:03楼:iar都5.5拉,usb转串口,PC上会多出一个串口来,如果多个设备插入同一pc,pc上就会多出许多串口,有无办法把同一类型的设备只用同一个串口呢?帖子: 12142积分: 38206专家等级: 香水城发表于 2010-8-1 12:11 | 只看该作者 回复 引用 返回版面 TOP?得分:04楼:如果把同一类

3、型的设备只用同一个串口,你如何区分不同的设备?I do not teach, but I coach. I do not feed, but I seed.欢迎访问我的博客:http:/ 303积分: 923专家等级: 流行音乐发表于 2010-8-1 18:25 | 只看该作者 回复 引用 返回版面 TOP?得分:05楼:收下了,感谢分享。帖子: 5707积分: 18616专家等级: icecut发表于 2010-8-3 13:48 | 只看该作者 回复 引用 返回版面 TOP?得分:06楼:vcd是什么意思老版本的某个破开发板带的代码竟然usb转串口有问题.已经找到.新版本的下载了.还没试

4、试.-帖子: 3102积分: 22136专家等级: mcuisp发表于 2010-8-4 11:21 | 只看该作者 回复 引用 返回版面 TOP?得分:07楼:用同一个序列号就可以了。不过这样弄不能同时存在。免费STM32 ISP软件EP968手持烧录器,现场升级/生产线量产STM32,STM8S/L,FreeScale,LPC2000,LPC9xx,C8051F,AVR,PIC.最新支持STM8S、L在线仿真和脱机下载帖子: 563积分: 2082专家等级: vigia发表于 2010-8-7 09:52 | 只看该作者 回复 引用 返回版面 TOP?得分:08楼:說明一下本例程實現了一個

5、USB虛擬串口上位機可以通過串口應用程序如HyperTerminal與設備通信。上位機通過USB發給STM32的數據,STM32將立刻通過USART1發給外部的其他設備。外部的其他設備通過USART1發給STM32數據,STM32在每5個SOF(即每5毫秒)后,檢查是否有收到USART1的數據,如有數據則通過USB發送給上位機。帖子: 1527积分: 4582专家等级: 无冕之王发表于 2010-8-8 09:05 | 只看该作者 回复 引用 返回版面 TOP?得分:09楼:楼主能给个相应的说明就更好了喜欢远行帖子: 1631积分: 4987专家等级: 火箭球迷发表于 2010-8-8 09:

6、40 | 只看该作者 回复 引用 返回版面 TOP?得分:010楼:很不错,多谢共享姚明的铁杆球迷帖子: 1228积分: 3946专家等级: Simon21ic发表于 2010-8-8 10:27 | 只看该作者 回复 引用 返回版面 TOP?得分:011楼:对一次调用write发送的数据长度有限制吗?比如,我一次调用串口write,写10M的数据。帖子: 1188积分: 3666专家等级: yybj发表于 2010-8-8 14:46 | 只看该作者 回复 引用 返回版面 TOP?得分:012楼:给个说明吧帖子: 563积分: 2082专家等级: vigia发表于 2010-8-9 10:2

7、4 | 只看该作者 回复 引用 返回版面 TOP?得分:013楼:本帖最后由 vigia 于 2010-8-9 10:26 编辑对一次调用write发送的数据长度有限制吗?比如,我一次调用串口write,写10M的数据。Simon21ic 发表于 2010-8-8 10:27 对于设备来说,一次USB通信最多收到64字节数据,然后通过USART发送出去,在USART发送期间,设备将一直以NAK响应主机,直到USART发送64字节数据完毕,设备可以接收下一个数据包。所以如果USART很慢,比如2400bps,这个NAK期间会比较长,我不太清楚USB虚拟串口驱动,可以容忍多长时间的NAK响应。帖子

8、: 563积分: 2082专家等级: vigia发表于 2010-8-9 10:24 | 只看该作者 回复 引用 返回版面 TOP?得分:014楼:给个说明吧yybj 发表于 2010-8-8 14:46 怎么样的说明?关于代码流程吗?还是如何使用?帖子: 1313积分: 4191专家等级: 秋天落叶发表于 2010-8-9 13:15 | 只看该作者 回复 引用 返回版面 TOP?得分:015楼:可以把代码流程和如何使用都简单说说落叶很美帖子: 1128积分: 3484专家等级: dfsa发表于 2010-8-9 13:46 | 只看该作者 回复 引用 返回版面 TOP?得分:016楼:很不

9、错的资料,楼主能写个简单的使用说明就更好了帖子: 1228积分: 3946专家等级: Simon21ic发表于 2010-8-9 14:24 | 只看该作者 回复 引用 返回版面 TOP?得分:017楼:本帖最后由 Simon21ic 于 2010-8-9 14:27 编辑最近流行PK,偶们也PK一下? 对于设备来说,一次USB通信最多收到64字节数据,然后通过USART发送出去,在USART发送期间,设备将一直以NAK响应主机,直到USART发送64字节数据完毕,设备可以接收下一个数据包。这样的效率太低,看一下我的方案:1K发送缓冲,1K接收缓冲,环形堆栈。发送缓冲满后,NACK主机,主机可

10、以设置串口的字节延时。USB收发都是用双缓冲。稳定921600bps。支持一些扩展命令,比如,串口下载MTK固件时,需要支持BREAK命令。PK一下性能吧?其实,按照USB FS的1ms轮训,已经大概可以算出来了。921600下,1ms的单向数据量,已经超过64字节。帖子: 563积分: 2082专家等级: vigia发表于 2010-8-9 15:04 | 只看该作者 回复 引用 返回版面 TOP?得分:018楼:本帖最后由 vigia 于 2010-8-9 15:11 编辑最近流行PK,偶们也PK一下? 对于设备来说,一次USB通信最多收到64字节数据,然后通过USART发送出去,在USA

11、RT发送期间,设备将一直以NAK响应主机,直到USART发送64字节数据完毕,设备可以接收下一个数据包。这样 .Simon21ic 发表于 2010-8-9 14:24 你是高手啦,我们就探讨探讨我当初做这个代码的时候,只考虑了115200bps的波特率,平均到每毫秒是15个字节,而且对于上位机可以用NAK来做流量控制,所以没有对USB OUT的传输做缓冲,直接收直接发,这样代码简单,一目了然,对于115200的传输来说,也足够了。当然如果USART上升到921600BPS,那肯定是你的方案效率更高,而且可以使能STM32F103的USB双缓冲BULK传输,效果会更好。对于USB IN传输,我

12、也是只考虑了115200BPS的波特率,所以每5个SOF才检查一次USART收到的数据,如果有数据,就启动USB上传到上位机。由于USART的传输具有突发性,并且我不想做流量控制,所以对于IN的传输,我做了缓冲。我考虑这样是对STM32F103的压力小,主芯片完全可以去处理其他事情。当然,如果速度上升到了921600BPS,间隔的5个SOF就太长了,可以每个SOF都检查下数据。总之,这只是个DEMO的例程,可以修正提高的地方还很多,欢迎各路高手来踩点。楼上的需要说明的各位,等我有时间了我来做个说明,希望可以连带大致讲一下STM32的USB库。帖子: 1228积分: 3946专家等级: Simo

13、n21ic发表于 2010-8-10 04:30 | 只看该作者 回复 引用 返回版面 TOP?得分:019楼:也不算高手,只是正好做过而已,了解STM32可以发挥的性能。其实,这个系统的正真瓶颈就在串口接收,所以,串口接收部分需要用中断的方式处理,并且,优先级最高,可以打入其他中断,这个就需要做好各种零界处理。否则,速度高的话,是会丢数据的。当然,实际怎么实现,完全看需求定位。我这里原来考虑921600的速度,也是因为那时候开发MTK手机,下载最高的速度就是921600。我做的东西在这里:http:/ 987积分: 3011专家等级: sinadz发表于 2010-8-10 09:01 | 只看该作者 回复 引用 返回版面 TOP?得分:020楼:我发现高手都比较谦虚的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 化学工业

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号