月亮一键变蓝 发表于 2024-11-3 04:00
数据处理函数要弄好,确保数据处理函数正确处理接收到的数据,避免数据不一致未说出口的像你 发表于 2024-11-3 05:00
调试工具问题,确保串口调试工具发送的数据格式正确,避免发送的数据格式与接收端不匹配我吃小朋友 发表于 2024-11-3 06:00
时钟配置,确保系统时钟和外设时钟配置正确,避免时钟配置错误导致数据传输不一致失物招領 发表于 2024-11-3 07:00
中断优先级设计问题,确保DMA中断的优先级配置正确,避免中断优先级冲突导致数据处理不及时她已醉 发表于 2024-11-3 08:00
不一致的话,是不是缓冲区溢出了?你缓冲区设计大点呢春日负喧 发表于 2024-11-3 09:00
不建议在中断中加过多的程序处理函数哈哈根达斯uz 发表于 2024-11-14 22:53
中查询已接收到的数据并进行处理公羊子丹 发表于 2025-1-24 14:14
你用的是环形缓冲区吗?DMA接收的时候最好用环形缓冲区,这样不会因为覆盖数据而出错。周半梅 发表于 2025-1-24 14:15
我也遇到过类似问题,后来发现是波特率设置不一致,检查一下你的波特率是不是跟调试工具一致?帛灿灿 发表于 2025-1-24 14:17
DMA模式下要注意空闲中断,可以用USART的IDLE中断来判断数据接收完成,这样会更稳定。童雨竹 发表于 2025-1-24 14:18
检查一下是不是数据有错位的问题,有时候发送和接收缓冲区的起始位置没对上也会出现这种情况。万图 发表于 2025-1-24 14:19
你while(1)里查询数据的方法是怎么写的?可能是逻辑处理有问题,建议贴一下代码。Wordsworth 发表于 2025-1-24 14:20
是不是接收缓冲区不够大?发送的数据量如果超过缓冲区大小,就会导致数据丢失。Bblythe 发表于 2025-1-24 14:22
如果用的是RTOS的话,注意检查DMA的优先级设置,不然可能会被其他任务抢占。Pulitzer 发表于 2025-1-24 14:23
看下你的DMA配置,有没有可能是数据的对齐方式或者数据宽度设置错了?Uriah 发表于 2025-1-24 14:24
你用的什么调试工具?有些工具在发送数据时会带一些不可见字符,检查下是不是这个原因。Clyde011 发表于 2025-1-24 14:26
数据发出和打印之间的流程太复杂了?建议先单独验证DMA接收是否正常,再一步步排查。地瓜patch 发表于 2025-1-24 15:05
打印以后,清一次缓冲区,再接受芯路例程 发表于 2025-1-25 18:25
数据处理功能必须良好,以确保数据处理功能正确处理接收到的数据,避免数据不一致AutoMotor 发表于 2025-1-25 21:00
不建议在中断中添加过多的程序处理功能