CAN TX mailbox identifier register (CAN_TIxR) (x=0..2)

Регистр идентификатора сообщения почтового ящика передатчика CAN-шины

Смещение (Address offset): 0x180,0x190, 0x1A0

Reset value: 0xXXXX'XXX0

3130292827262524
STID[10:0]/EXID[28:18]
rwrwrwrwrwrwrwrw
XXXXXXXX
2322212019181716
STID[10:0]/EXID[28:18] EXID[28:18]
rwrwrwrwrwrwrwrw
XXXXXXXX


15141312111098
EXID[28:18]
rwrwrwrwrwrwrwrw
XXXXXXXX
76543210
EXID[28:18] IDE RTR TXRQ
rwrwrwrwrwrwrwrw
XXXXXXX0


Bits 31:21
STID[10:0]
Standard identifier
Стандартный идентификатор сообщения
Bits 31:16
EXID[28:18]
Extended identifier
Расширенный идентификатор сообщения

Стандартный или расширенный идентификатор сообщения определяется битом IDE

Bit 2
IDE
Identifier extension
Определяет тип (и длину) идентификатора сообщения

 0 :  Standard identifier - стандартный идентификатор 11 бит

 1 :  Extended identifier - расширенный идентификатор 29 бит

Bit 1
RTR
Remote transmission request

 0 :  Data frame -

 1 :  Remote frame -

Bit 0
TXRQ
Transmit mailbox request
Устанавливаестя программно для запроса на передачу из почтового ящика в CAN-шину

Сбрасывается аппаратно, когда почтовый ящик становится пустым.



/******************  Bit definition for CAN_TI0R register  *******************/

#define  CAN_TI0R_TXRQ      ((uint32_t)0x00000001)   /* Transmit Mailbox Request                    */
#define  CAN_TI0R_RTR       ((uint32_t)0x00000002)   /* Remote Transmission Request                 */
#define  CAN_TI0R_IDE       ((uint32_t)0x00000004)   /* Identifier Extension                        */

#define  CAN_TI0R_EXID      ((uint32_t)0x001FFFF8)   /* Extended Identifier                         */
#define  CAN_TI0R_STID      ((uint32_t)0xFFE00000)   /* Standard Identifier or Extended Identifier  */


/*******************  Bit definition for CAN_TI1R register  *******************/

#define  CAN_TI1R_TXRQ      ((uint32_t)0x00000001)   /* Transmit Mailbox Request                    */
#define  CAN_TI1R_RTR       ((uint32_t)0x00000002)   /* Remote Transmission Request                 */
#define  CAN_TI1R_IDE       ((uint32_t)0x00000004)   /* Identifier Extension                        */

#define  CAN_TI1R_EXID      ((uint32_t)0x001FFFF8)   /* Extended Identifier                         */
#define  CAN_TI1R_STID      ((uint32_t)0xFFE00000)   /* Standard Identifier or Extended Identifier  */


/*******************  Bit definition for CAN_TI2R register  *******************/
#define  CAN_TI2R_TXRQ      ((uint32_t)0x00000001)   /* Transmit Mailbox Request                    */
#define  CAN_TI2R_RTR       ((uint32_t)0x00000002)   /* Remote Transmission Request                 */
#define  CAN_TI2R_IDE       ((uint32_t)0x00000004)   /* Identifier Extension                        */

#define  CAN_TI2R_EXID      ((uint32_t)0x001FFFF8)   /* Extended identifier                         */
#define  CAN_TI2R_STID      ((uint32_t)0xFFE00000)   /* Standard Identifier or Extended Identifier  */