Hi Petr,
According to your suggestion, I have read MB0 sequentially under BUF6I asserted.
Unfortunately, I can't read FIFO data sequentially and always get the same data.
The following code is BUF6I Rx FIFO read procedure:
if ( CAN_1.IFLAG1.B.BUF6I !=0 ){
gMB_buffer[0][0] = RX_FIFO( CAN1_BASE_ADDRESS , MB_START_OFFSET, 0); //MB[0].CS
gMB_buffer[0][1] = RX_FIFO( CAN1_BASE_ADDRESS , MB_START_OFFSET, 1); //MB[0].ID
gMB_buffer[0][2] = RX_FIFO( CAN1_BASE_ADDRESS , MB_START_OFFSET, 2); //MB[0].DATA[0]
gMB_buffer[0][3] = RX_FIFO( CAN1_BASE_ADDRESS , MB_START_OFFSET, 3); //MB[0].DATA[1]
g_timer_unlock = CAN_1.MB[0].CS.B.TIMESTAMP ;
gMB_buffer[1][0] = RX_FIFO( CAN1_BASE_ADDRESS , MB_START_OFFSET, 0); //MB[0].CS
gMB_buffer[1][1] = RX_FIFO( CAN1_BASE_ADDRESS , MB_START_OFFSET, 1); //MB[0].ID
gMB_buffer[1][2] = RX_FIFO( CAN1_BASE_ADDRESS , MB_START_OFFSET, 2); //MB[0].DATA[0]
gMB_buffer[1][3] = RX_FIFO( CAN1_BASE_ADDRESS , MB_START_OFFSET, 3); //MB[0].DATA[1]
g_timer_unlock = CAN_1.MB[0].CS.B.TIMESTAMP ;
........................
CAN_1.IFLAG1.R = BIT6_LIT ;
}
I want to read FIFO sequentially under BUF6I asserted.
Could you provide a sample code for me?
Sorry about the inconvenience.