完善资料让更多小伙伴认识你,还能领取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); 来发送数据给串口助手 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2297 浏览 0 评论
2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
18812 浏览 11 评论
2489 浏览 0 评论
IaaS+on+DPU(IoD)+下一代高性能算力底座技术白皮书
3899 浏览 0 评论
飞凌嵌入式-ELFBOARD 常用的USB接口及其不同版本介绍第1期
1294 浏览 0 评论
69560 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-2 13:23 , Processed in 0.597154 second(s), Total 73, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号