1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
以你的最后一张图为例。
你发出的数据Hex是:01 03 01 48 00 08 C4 1A,右侧的buffer显示收到了后续数据,其中, 48H = 72D, 08H = 08D, C4H = 196D, 1AH = 26D。 你看Com4_Write实现方法咯,用rt_strlen计算buffer长度,遇到’ ’,即0x00就停止输出了。 这显然不是串口DMA的问题。 你可以使用rt_device_read的返回值,表示返回数据的长度。同时适当改写Com4_Write函数即可,如增加一个输入参数表示数据长度,如果为0,则使用rt_strlen获取buf中的字符串。 |
|
|
|
同意,这个与串口DMA无关,buffer里应该已经收到所有的数据了,不应该使用printf打印,会忽略掉00以及之后的数据,楼主需要使用
rt_device_write(dev_uart1, 0, buffer, size); 来发送数据给串口助手 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
590 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
2241 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1233 浏览 0 评论
1788 浏览 0 评论
1464 浏览 0 评论
74825 浏览 21 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 02:13 , Processed in 0.508295 second(s), Total 41, Slave 34 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号