
因为程序耗时大概10ms(已用HAL_Delay代替)左右会生成两组大小1104的数据 波特率1250000 使用两路串口DMA发送 485芯片(只发送 485使能引脚不会改变)等外围电路满足要求(只接收的情况 同平台已经测试过串口DMA循环模式 并把数据保存至SD卡 数据无异常) 但是在实际运行中会出现数据错误情况。 剔除多余代码,生成两组数据 while中循环发送 延时10ms 发现数据出现掉帧情况 以为两路数据需要互相等待没发送完成 但是使用示波器测试发现两组数据基本是同时发出,并且在10ms内已经发送完成 请问代码中是否存在问题,谢谢 |
STM32H747 的USB口,烧录程序就损坏。提示“NO DFU capable USB device available”
STM32H745IGT6芯片丝印
报一处文档错误
STM32H747 的USB 无法连接到电脑,电脑提示“未知USB设备,(设备描述符请求失败)”
研讨会送了一块NUCLEO-H7S3L8开发板,今天测试外部Flash有问题, 代码能下载进去,但加载不了代码
STM32H747 的BOOT1 是哪个管脚?datasheet 里面只有BOOT0。
STM32会存在单个IO口坏掉的情况吗?
STM32IDE如何设定代码到ITCM中运行。
STM32N6570-DK开发板,哪里还有卖的?
求一份STM32H723 SDMMC1 4线驱动SD卡的 CUBEMX例程或者教程
谢谢 我排查了一下 应该是不能同一台电脑接收(换其他品牌电脑试了) 用两台电脑分别接收就好了(除了第一包数据错误) 很奇怪的问题
理论上8ms 多就发送完了,从波形上看也是这样。
与25ms 延时相差太多太多了。
会不会瓶颈在接收的方式上了?
考虑换个方式测量发送的数量看看。
如果是normal模式,且保证延时时间内传输能完成的话,就不该有什么问题。
如果circular模式的话,那个延时时间可能不太好设置,不管怎么配置,终究
都会出现丢帧的情况。 不过从你代码来看,不像使用循环模式,因为循环模式
不用反复启动。
所以,你如果使用的是Normal模式还丢帧的话,或许看看别的方面的原因。
主程序如下
如果是,那不是已经发出来了么,看看波特率再调整一下看看是否是期望的。
另外从幅度看,似乎测量的效果不佳。
你好 是已经发出来的而且能循环发送 测量只是为了确定是不是能在10ms内发完(因为发现要延时25ms数据才正确 但是这样就失去了DMA的意义) 但是实际电脑接收到的数据出现了掉帧(不是乱码)
你好 发送我使用的是normal模式 测试只用一个串口发送的话 延时10ms发送的数据正常未出现掉帧 但是用两个串口发送就会都出现问题 理论上两个DMA不应该是独立的吗(使用DMA1 不同数据流 和分别使用DMA1和DMA2都试过)
你现在用到UART1 和 UART5, 你将内存区分开测试下,比方一个使用SRAM1,一个使用SRAM2。
谢谢 我排查了一下(换了好几个串口助手UartAssist、sscom都试了)最后发现两个串口都发送但是电脑只接收一个串口的数据问题就小很多 换两台电脑分开接收就可以了(除了第一包数据出现问题) 不能同一台电脑收……神奇的问题
[md]嗯。
如果你发送端使用DMA Normal模式,发送端没有啥问题。看来问题出在PC端接收处理能力,或许你可在UART通信中加上流控。