Puchou 发表于 2025-4-12 15:39

GD32 UART使用DMA发送时间测量

波特率2400
发送2个字节,只需要432us,UART带有一级缓存,一次可以写入2个字节



发送4个字节,0.432+2*4.16=8.75ms



使用DMA发送完成作为数据发送完成的标志是不合适的。



//等待TC置位,作为发送完成标志
void USART1_IRQHandler(void)
{
uint8_t u8Tmp;
if(RESET != usart_interrupt_flag_get(USART1, USART_INT_FLAG_TC))
{
usart_interrupt_flag_clear(USART1,USART_INT_FLAG_TC);
//用户处理过程
}
}
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/lljss1980/article/details/127461575

页: [1]
查看完整版本: GD32 UART使用DMA发送时间测量