
本帖最后由 zen2017 于 2017-4-2 23:43 编辑 程序是在CUBE生成的USB虚拟串口VCP基础上修改。 在不丢失数据的情况下,传输采集的数据1M字节,花了大约14秒,算下来每秒钟的传输速度大概是72K字节/秒。 想请教一下研究过虚拟串口的XD,这个速度还有提高的余地吗? 其他硬件情况: 1.数据采集。使用外部信号作为定时器源,在中断中进行数据采集。采集一个数据,需要进入中断14次。速度大约是0.03ms采集一个字节,但VCP传输的时候,要传输8字节。 2.还有一个5通道的AD转换,使用AD+DMA,0.1s进行一次AD手动采集。 3.同时还有一个SPI接口的128x64的oled实时显示状态,显示内容全部是8x16的ASCII码字符,所以这个屏幕采用的是虚拟屏幕,内部RAM有一个4x16=64字节的缓冲区,对应显示内容。更新这个屏幕是采用全屏幕重刷方式,使用SPI DMA中断传输显示内容的,我测试过,大约2ms更新一次屏幕内容(SPI采用的是4分频对应是36/4=9MHZ),是在DMA+SPI中断内部,实际消耗CPU的资源很有限,应该不到2ms的10%。 已经充分做了优化,包括采集的数据用FIFO方式存储,VCP传输的时候,直接使用FIFO里面缓冲区指针进行发送,不进行数据搬移。按道理应该和双缓冲区的效果一样。 就是VCP发送,采用的是1ms一次的SOF软中断里面判断是否有数据,如果有数据,则配置好对应的数据指针发送。 |
关于ASM330LHH TR调试中的问题
STM32会存在单个IO口坏掉的情况吗?
STM32的DCode bus是连接到bus matrix的吗?参考手册描述和图片是不符吗?
stm32ide怎么正确的导出项目
STM32F105RBT6 2025年 ROSH REACH 报告
STM32CubeMX 使用"FW_F1 V1.8.6"生成FreeRTOS代码缺少"freertos_mpool.h"?
你好,我的setting里面设置都没有问题。但是显示failed download cortexm3
ART-PI H750-USB-MSC 设备描述符异常
STM32F103C8出現找不到'STM32100B_EVAL/stm32100b_eval.h' file not found
stm32h743 usbh msc 读写 u盘 新购买的 u盘只能识别到但不能进行读写 ?
传送不变的数据速率是:729KB/S
如果每次传送的数据用for循环修改成另一个值,则速度急剧下降为:652KB/S ??!!
同时,这个也说明我使用FIFO进行VCP传输数据管理,速度基本达到了所谓的双缓冲区的效果!
怎么持续收发, 求大神指点