找回密码
 立即注册

微信扫码登录

查看: 207|回复: 3

[UART] demo中dma无法全双工

[复制链接]

3

主题

4

回帖

39

积分

英勇黄铜

积分
39
发表于 2025-7-23 13:56:17 | 显示全部楼层 |阅读模式 来自 广东佛山
Information
说明:   建议参照本版块置顶帖内容输入必要信息
芯片型号: TLSR9517C
驱动SDK版本: telink_b91m_driver_sdk V2.3.0.
UART_DEMO中,配置为使用dma
image.png
问题:接收完成中断中会复位串口,如果此时也在发送且发送未完成,则发送被打断。怎样才能实现全双工?

image.png

0

主题

24

回帖

118

积分

版主

积分
118
发表于 2025-7-24 14:32:57 | 显示全部楼层 来自 上海
这个是可以支持的,B91这样处理的目的,如果当rxdma接收数据时,如果对方发送长度大于dma设置的长度,则需要reset,否则下一笔dma不会工作,如果不会这样的话,则没有问题的,如果有这种情况的话,再配置下一笔rxdma就要reset。也可以操作这个reset时,判断是否tx 可以等tx发送完再处理

3

主题

4

回帖

39

积分

英勇黄铜

积分
39
 楼主| 发表于 2025-7-24 19:03:54 | 显示全部楼层 来自 广东佛山
我现在是在UART_RXDONE中断中去清UART_CLR_RX标志,就可以正常工作。
if (uart_get_irq_status(p_uart->uart_num, UART_RXDONE))  
{
uart_clr_irq_status(p_uart->uart_num, UART_CLR_RX);
}
只要rxdma接收数据不超过dma设置的长度,应该就没问题吧?

0

主题

24

回帖

118

积分

版主

积分
118
发表于 2025-8-7 10:14:19 | 显示全部楼层 来自 上海
这个是可以支持的,但之所以91这样处理的目的,如果当rxdma接收数据时,如果对方发送长度大于dma设置的长度,则需要reset,否则下一笔dma不会工作,如果不会这样的话,则没有问题的,如果有这种情况的话,再配置下一笔rxdma就要reset
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Telink forum ( 沪ICP备17008231号-1 )

GMT+8, 2025-8-18 03:12 , Processed in 0.104028 second(s), 24 queries .

Powered by Telink 隐私政策

泰凌微电子版权所有 © 。保留所有权利。 2024

快速回复 返回顶部 返回列表