请教STM32F103的DMA空闲接收问题
STM32G473,PA3导致定时器定时误差过大
STM32H7A3 怎样配置MDMA的硬件触发MDMA_REQUEST_DMA1_Stream0_TC将数据再次转运
定时器输出PWM控制电机的问题
STM32F103VCT6通过串口1烧录程序问题
stm32u575 gpdma burst length=1 配置其他数值不工作
F103的IIC支持高速400K频率吗?
为什么用cubemax生成f103c8t6的freertos在编译时会报错
CUBEIDE打开一个工程,怎么改变主控芯片的同系列型号?
STM32F103 使用PA9输出PWM问题
微信公众号
手机版
如果这样就很难保证不丢数据。如果你将ADC生产数据的时间变长,比方变长3ms或5ms会怎么样呢?先锁定原因,再找解决办法。
是的,我也是怎么做的,貌似是usb发送给电脑出现了问题。
如果用的是虚拟串口,在异常的时候,看一下设备管理器里面的串口设备是否正常,如果不正常,可能是因为USB驱动或者USB使用的问题。同时也可以增加串口打印,确认程序是正常的。可以正常的采集数据。另外看一下传输1K的空间,USB的底层驱动缓冲区是否比较小。建议开大一些。
非常同意你的观点,先要找到问题再解决问题,或者尝试一个新的思路,USB的传输不是有有缓冲的吗?没必要进行实时传输,有了缓冲为什么还会有数据丢失?
这是我觉得奇怪的地方。
下面是正常情况和数据丢失(数据丢失前通信异常)。
正常
数据丢失
正常情况有许多等待响应的帧,没有数据就是不响应,有数据在同步后就有数据跟上了,异常时没有等待发送的帧,如下图:
正常帧
间隔大
这个不行的,受USB协议的约束。
你好!
我不是用的中断,我用的是批量,不过我也试过中断的了,并比较了中断和批量的区别。
1:中断确实如你说的1mS一次,在1mS之间没有许多的发送了,不过丢包的更多。
2:批量的在1mS间有许多发生。
偶尔有丢失.rar
2022-10-13 10:46 上传
点击文件名下载附件
下载积分: ST金币 -1797.94 KB, 下载次数: 3, 下载积分: ST金币 -1