本人在写UART程序的时候想用中断方式发送数据
中断程序如下:
void Uart0Irq(void)
{
if(UART_GetTxCompleteStatus(UART0) != 0)
{
UartInfo[0].snt_index++;
if(UartInfo[0].snt_index < UartInfo[0].snt_max)
UART_WriteDataReg(UART0,UartInfo[0].snt_data[UartInfo[0].snt_index]);
else
UartInfo[0].flags |= UART_TCOMPLETE_FLAG;
}
}
但是跑起来的时候程序一直在中断里面出不来。看数据手册发现,UART在空闲的 时候发送完成标志一直处于设置状态,导致程序不停的进出中断。也就红色部分需要添加一个清除发送完成标志的语句,但是不知道该怎么清除这个标志,求大神 |