中级会员
 
- 积分
- 468
- 金钱
- 468
- 注册时间
- 2017-6-10
- 在线时间
- 66 小时
|
1.有哪位老铁使用串口DMA发送过数据,并且采用中断的方式判断数据是否发送完成,原子哥的是一直在while 循环中判断,这样太浪费资源了。大神做过的分享一下吧。
/*
while(1)
{
if(__HAL_DMA_GET_FLAG(&UART1TxDMA_Handler,DMA_FLAG_TCIF3_7))//等待DMA2_Steam7传输完成
{
__HAL_DMA_CLEAR_FLAG(&UART1TxDMA_Handler,DMA_FLAG_TCIF3_7);//清除DMA2_Steam7传输完成标志
HAL_UART_DMAStop(&UART1_Handler); //传输完成以后关闭串口DMA
break;
}
pro=__HAL_DMA_GET_COUNTER(&UART1TxDMA_Handler);//得到当前还剩余多少个数据
pro=1-pro/SEND_BUF_SIZE; //得到百分比
pro*=100; //扩大100倍
LCD_ShowNum(30,170,pro,3,16);
}
*/
|
|