Thank you for your advice, it's maybe more easier, but SPI just a little part . My project need control something accurate by this way. Firstly, forgive me,the "bit" should be correct "byte". The CAN format have 11byte right? and 3 byte is ID, then another 8 byte is data. when I set the bufferID on Component Inspector, it's mean already occupy 3byte(Frame.MessageID = 0x110U);. So I check my CAN transiver. I found a problem, I sent the Message ID110 and Byte5=0x01 to my Masterboard receive into the buffer(CANRX[5]) by CAN transiver, the problem is CANRX[5] is zero, so my CAN transiver sent the message didn't fill the buffer. Is my CAN transmit format wrong? or this code [Error = CAN1_ReadFrame(MyCANPtr, 0U, &Frame);] just read ID then jump to OnFullRxBuffer event?
uint8_t CANRX[8]={0x00U,0x00U,0x00U,0x00U,0x00U,0x00U,0x00U,0x00U}; I sent 0x01 to Byte5 by CAN transiver, the Buffer inside should be changed like "CANRX[8]={0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00};" when I work it. I just wanna when ID=110 and Byte5=0x01 to work.