I dont think it is possible to do polling in the CAN . I checked registers in CAN to see if there is any registers that will be set when msg is transmitted or received . There are no such register expect for the CAN_CSR_INT_SR register . This is interrupt status register for CAN . In order to update this register you have to enable the Interrupts in the CAN Component .
You have to use interrupt only .
No, I think it is possible since I recently discovered the register CAN[0..]_CSR_BUF_SR which contains flags for message receiption and transmission. I also saw it in use in the generated source files of a can controller in the function CAN_MsgRXIsr. I already made a test that realized a polling based on this.
However, this test still behaves strange, since I'm using linked mailboxes and I don't really understand the FIFO mechanism (see my other post: https://secure.cypress.com/?app=forum&id=2233&rID=103811)