芯片LM3S8962,使用UART和PC通信。
发现当发送中断触发深度设为2/8时,发送1-5byte都不会进入发送中断,发送大于6byte才会进中断,这是何解??数据确实已经发送出去,但是不会产生中断。
我的理解是:深度设置为2/8时,就是当发送FIFO中还有4BYTE时,触发中断,难道不是这样理解???
配置代码:
UARTConfigSetExpClk(UART0_BASE, SysCtlClockGet(),9600 , (
UART_CONFIG_WLEN_8 |
UART_CONFIG_STOP_ONE |
UART_CONFIG_PAR_NONE));
UARTIntClear(UART0_BASE, UART_INT_TX | UART_INT_RX | UART_INT_RT); /* 8-N-1模式发送数据 */
UARTIntEnable(UART0_BASE,UART_INT_RX | UART_INT_RT | UART_INT_TX); /* 设置UART中断类型 */
UARTFIFOLevelSet( UART0_BASE, // 设置收发FIFO中断触发深度
UART_FIFO_TX2_8, // 发送FIFO为2/8深度(4B)
UART_FIFO_RX6_8 ); // 接收FIFO为6/8深度(12B)
IntEnable(INT_UART0); /* UART中断使能 */
IntMasterEnable(); /* 开总中断 */

