Thread 中讨论的其他器件:C2000WARE
工具与软件:
我已经注意到、当我在接收线上启用具有 DMA 的 CM UART 时、它既不会触发 DMARX INT 也不会触发正常 RX INT 上的接收中断
我的初始化代码如下:
UART_setConfig (base、UART_CLK_FREQ、BAUD_RATE、
(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
uart_config_PAR_NONE));
uart_enableFIFO (base);
UART_setFIFOLevel (BASE、UART_FIFO_TX7_8、UART_FIFO_RX1_8);
UART_setTxIntMode (base、UART_TXINT_MODE_EOT);
UART_registerInterrupt (interrupt、&ISR);
UART_enableInterrupt (base、 | UART_INT_RT);
UART_enableModule (base);
UART_enableDMA (base、UART_DMA_RX | UART_DMA_TX);
ISR:
uint32_t interrupt_status = UART_getInterruptStatus (base、UART_masked_INT);
UART_clearInterruptStatus (base、UART_INT_DMARX | UART_INT_RX | UART_INT_9BIT);//!<尽早清除中断状态
如果(INTERRUPT_STATUS 和(UART_INT_RX | UART_INT_DMARX))
{
_asm (" bkpt #0");
}
IF (INTERRUPT_STATUS 和 UART_INT_RT)
{
//句柄超时
}
尽管接收到数据、但断点绝不会触发