#pragma once #include /** * @brief RXnBF PIN CONTROL AND STATUS REGISTER (ADDRESS: 0Ch) * */ struct BFPCTRL { uint8_t B0BFM : 1; uint8_t B1BFM : 1; uint8_t B0BFE : 1; uint8_t B1BFE : 1; uint8_t B0BFS : 1; uint8_t B1BFS : 1; uint8_t : 2; }; /** * @brief TXnRTS PIN CONTROL AND STATUS REGISTER * */ struct TXRTSCTRL { uint8_t B0RTSM : 1; uint8_t B1RTSM : 1; uint8_t B2RTSM : 1; uint8_t B0RTS : 1; uint8_t B1RTS : 1; uint8_t B2RTS : 1; uint8_t : 2; }; struct CANSTAT { uint8_t ICOD0 : ; uint8_t : 1; uint8_t OPMOD0 : 1; uint8_t OPMOD1 : 1; uint8_t OPMOD2 : 1; uint8_t : 1; }; struct CANCTRL { uint8_t CLKPRE0 : 1; uint8_t CLKPRE1 : 1; uint8_t CLKEN : 1; uint8_t OSM : 1; uint8_t ABAT : 1; uint8_t REQOP0 : 1; uint8_t REQOP1 : 1; uint8_t REQOP2 : 1; }; struct TEC { uint8_t TEC; }; struct REC { uint8_t REC; }; struct CNF3 { uint8_t PHSEG20 : 1; uint8_t PHSEG21 : 1; uint8_t PHSEG22 : 1; uint8_t : 3; uint8_t WAKFIL : 1; uint8_t SOF : 1; }; struct CNF2 { uint8_t PRSEG0 : 1; uint8_t PRSEG1 : 1; uint8_t PRSEG2 : 1; uint8_t PHSEG10 : 1; uint8_t PHSEG11 : 1; uint8_t PHSEG12 : 1; uint8_t SAM : 1; uint8_t BTLMODE : 1; }; struct CNF1 { uint8_t BRP0 : 1; uint8_t BRP1 : 1; uint8_t BRP2 : 1; uint8_t BRP3 : 1; uint8_t BRP4 : 1; uint8_t BRP5 : 1; uint8_t SJW0 : 1; uint8_t SJW1 : 1; }; struct CANINTE { uint8_t RX0IE : 1; uint8_t RX1IE : 1; uint8_t TX0IE : 1; uint8_t TX1IE : 1; uint8_t TX2IE : 1; uint8_t ERRIE : 1; uint8_t WAKIE : 1; uint8_t MERRE : 1; }; struct CANINTF { uint8_t RX0IF : 1; uint8_t RX1IF : 1; uint8_t TX0IF : 1; uint8_t TX1IF : 1; uint8_t TX2IF : 1; uint8_t ERRIF : 1; uint8_t WAKIF : 1; uint8_t MERRF : 1; }; struct EFLG { uint8_t EWARN : 1; uint8_t RXWAR : 1; uint8_t TXWAR : 1; uint8_t RXEP : 1; uint8_t TXEP : 1; uint8_t TXBO : 1; uint8_t RX0OVR : 1; uint8_t RX1OVR : 1; }; struct TXB0CTRL { uint8_t TXP0 : 1; uint8_t TXP1 : 1; uint8_t : 1; uint8_t TXREQ : 1; uint8_t TXERR : 1; uint8_t MLOA : 1; uint8_t ABTF : 1; uint8_t : 1; }; struct TXB1CTRL { uint8_t TXP0 : 1; uint8_t TXP1 : 1; uint8_t : 1; uint8_t TXREQ : 1; uint8_t TXERR : 1; uint8_t MLOA : 1; uint8_t ABTF : 1; uint8_t : 1; }; struct TXB2CTRL { uint8_t TXP0 : 1; uint8_t TXP1 : 1; uint8_t : 1; uint8_t TXREQ : 1; uint8_t TXERR : 1; uint8_t MLOA : 1; uint8_t ABTF : 1; uint8_t : 1; }; struct RXB0CTRL { uint8_t FILHIT0 : 1; uint8_t BUKT1 : 1; uint8_t BUKT : 1; uint8_t RXRTR : 1; uint8_t : 1; uint8_t RXM0 : 1; uint8_t RXM1 : 1; uint8_t : 1; }; struct RXB1CTRL { uint8_t FILHIT0 : 1; uint8_t FILHIT1 : 1; uint8_t FILHIT2 : 1; uint8_t RXRTR : 1; uint8_t : 1; uint8_t RXM0 : 1; uint8_t RXM1 : 1; uint8_t : 1; };