完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我STM32串口为不占cpu资源使用DMA方式进行接收,设定接收缓冲区,在while(1)中查询已接收到的数据并进行处理,可是使用串口调试工具发送数据到板子,板子再将数据通过窗口打印处理,打印的数据和发送的数据出现不一致情况,求大侠帮忙看看!谢谢大家
|
|
相关推荐
15个回答
|
|
***
|
|
|
|
串口数据接收处理时有没有进行校验!
|
|
|
|
看一下串口设置是否一样,波特率,数据位,校验位等是否一致,还有显示方式和发送方式是否一致
|
|
|
|
|
|
3 条评论
|
|
通过j-link在线仿真调试,发现打印出来的数据和缓冲区的数据一致,可是这个数据和我发送的是有区别的,比如我发送 ff fe fe f0 e0 可是缓冲区的数据变成了 ff fe 20 f0 f0 这样的的数据,难道DMA搬运数据出问题?可是我的配置和网上的例程基本差不多的。如果DMA搬运数据出问题,可是第一个字节ff总是不会出错,这是为啥? |
|
|
|
这个检查过好几次,没有什么问题的 |
|
|
|
有校验。有木有可能是硬件问题,因为断电一段时候在上电是发送正常,长时间运行一下,又可能出现这样的问题?? |
|
|
|
用DMA接收数据时要注意一帧数据接收完,或者一帧数据和设定的DMA缓冲区不一样长时候的处理方法。
|
|
|
|
用DMA接收数据时要注意一帧数据接收完,或者一帧数据和设定的DMA缓冲区不一样长时候的处理方法。
|
|
|
|
这个不太可能是硬件问题........ |
|
|
|
波特率才设置为9600 |
|
|
|
|
|
|
|
因为程序简单,就这点配置,没发现问题所在,换另一块板子试,不会出现这样的错误,但是说之前那块是硬件问题,我也觉得不太可能!!! |
|
|
|
不是硬件问题,是程序问题,因为另一块板子也出现同一的情况了!!可是程序中,真心找不出问题出来!!急死了! |
|
|
|
我用DMA实现串口的发送,接收到的数据全是00 ,不知道哪里出了问题,可否把你的配置的代码可以发出来参考一下?
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2105 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1941 浏览 3 评论
4537 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2084 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2599 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 23:52 , Processed in 0.839744 second(s), Total 106, Slave 89 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号