Hi all,
Recently,I have developed a uart driver base on pdk_C6678_1_0_0_17\packages\ti\platform\evmc6678l\platform_lib.But I still feeling confused about FIFO-interrupt mode.
I config uart in FIFO-interrupt mode,set receiver FIFO trigger level at 8 byte.(system interrupt #148)
Q1:How to read from FIFO and How to read many character every time. FIFO`s first address and RBR`s first address is same?
(Now,I read data from RBR or FIFO by CSL_FEXT(hUartRegs->RBR, UART_RBR_DATA);
And I guess they have same first address)
Q2:In testing,It seems like in no-FIFO mode as User Guide- When a character is placed in RBR,an interrupt is generated.
( I have enable FIFO by CSL_FINS (hUartRegs->FCR, UART_FCR_FIFOEN, CSL_UART_FCR_FIFOEN_ENABLE);
I think it should that an interrupt is generated when i received 8 byte data from PC every time.
Q3:As User Guide said,In FIFO mode,the interrupt is generated when the FIFO is filled to the trigger level,and it is cleared when the
FIFO contents drop below the trigger level.
The situation that I have received 8 byte data from PC in FIFO,generate an interrupt,then I read data from FIFO in interrupt routine.
The problem that If I read a character from FIFO, I feel it is not different from non-FIFO, so I must read many characters everytime?
Thanks,
Li