完善资料让更多小伙伴认识你,还能领取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); 来发送数据给串口助手 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1033 浏览 0 评论
2877 浏览 0 评论
图腾柱PFC无法上升至400V,且电感电流为正弦波形,但是幅值极小
9386 浏览 0 评论
飞凌嵌入式ElfBoard-Vim编辑器之静态链接和动态链接
2898 浏览 0 评论
使用 LinkBoy 将程序导出为 C 语言代码并烧录至 Arduino ESP32 开发板
2302 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 22:31 , Processed in 0.678315 second(s), Total 74, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1810