[应用相关] 请教关于HAL库串口DMA发送问题

[复制链接]
656|11
 楼主| 两只袜子 发表于 2021-2-22 14:36 | 显示全部楼层 |阅读模式
我在调用HAL_UART_Transmit_DMA函数连续发送时发现发不出去(while(1)可以持续发送但可能丢了不少包),返回值为HAL_BUSY,条件即huart->gState == HAL_UART_STATE_READY不成立。在网上找解决方法都不能解决这个问题,比如在/* Set the UART DMA transfer complete callback */和/* Set the UART DMA Half transfer complete callback */中给huart->gState赋值也不行。请问有什么好的解决方法?感觉也不像是数据还没发送完。
一只眠羊 发表于 2023-1-10 19:38 | 显示全部楼层
使用hal的串口发送还有丢包情况啊?
一只眠羊 发表于 2023-1-10 20:10 | 显示全部楼层
使用hal的串口发送还有丢包情况啊?
未说出口的像你 发表于 2023-1-10 20:42 | 显示全部楼层
你可以用仿真的方式调试一下啊,看看程序运行逻辑呗
在曼谷的春 发表于 2023-1-10 21:14 | 显示全部楼层
按理来说应该不会发不完啊,你多大的数据啊
西洲 发表于 2023-1-10 21:46 | 显示全部楼层
你用啥弄得工程啊?是cubemx么?
捧一束彼岸花 发表于 2023-1-10 22:18 | 显示全部楼层
你可以找个例程跑跑看,如果OK的话,看看和你写的工程有啥不一样
风凉 发表于 2023-1-10 22:50 | 显示全部楼层
感觉像DMA没配置或者是没准备好呢
春日负喧 发表于 2023-1-10 23:22 | 显示全部楼层
你可以看看你的初始化方面,初始化是不是有问题
温室雏菊 发表于 2023-1-10 23:54 | 显示全部楼层
   就是串口准备不OK啊?啥情况?

故意相遇 发表于 2023-1-11 00:26 | 显示全部楼层
看看你的程序吧,能发一下吗?
月亮一键变蓝 发表于 2023-1-11 00:58 | 显示全部楼层
感觉是哪里没配置好导致的,就动不动串口没准备好的话,就容易这样。HAL真的麻烦,冗余太多
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2122

主题

8121

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部