|
查看: 114|回复: 3

TLSR8355通过串口DMA发送数据

[复制链接]

9

主题

8

回帖

121

积分

荣耀黄金

积分
121
发表于 2026-8-20 14:35:38 | 显示全部楼层 |阅读模式 来自 广东深圳
请问我利用DMA通过串口发送数据,如何才能判断串口数据是否发送完成呢

1

主题

26

回帖

160

积分

版主

积分
160
发表于 2026-8-20 16:37:47 | 显示全部楼层 来自 上海
本帖最后由 TL_LANJIAN 于 2026-8-20 16:38 编辑


请问你说的具体是哪种串口?
以uart为例:
在irq_handler中判断uart状态信息:

if(reg_uart_status1 & FLD_UART_TX_DONE)
        {
                uart_dmairq_tx_cnt++;
                uart_dma_send_flag = 1;
                gpio_toggle(LED2);
                uart_clr_tx_done();
        }

具体可以参考驱动代码的UART_Demo

9

主题

8

回帖

121

积分

荣耀黄金

积分
121
 楼主| 发表于 2026-8-20 16:55:40 | 显示全部楼层 来自 广东深圳
TL_LANJIAN 发表于 2026-8-20 16:37
请问你说的具体是哪种串口?
以uart为例:
在irq_handler中判断uart状态信息:

就以这个为例,比如我利用DMA发送了1000个字节数据通过串口发送,这里中断是一个字节发送完成,还是所有的1000个数据都发送完成了呢,DMA发送给串口然后串口再发送出去,这个我如何判断通过DMA发送的所有数据,串口都发送完成了呢

1

主题

26

回帖

160

积分

版主

积分
160
发表于 2026-8-20 20:35:43 | 显示全部楼层 来自 上海
产生uart_tx_done的时候,说明所有数据都已经通过串口发送完毕

本版积分规则

关注公众号
Telink forum

相关侵权、举报、投诉及建议等,请发 E-mail:forum@telink-semi.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|沪ICP备17008231号-1 |沪公网安备31011502403548号

在本版发帖返回顶部