CAN interrupt enable register (CAN_IER)
Регистр разрешения прерываний CAN-шины
Смещение (Address offset): 0x14
Reset value: 0x0000'0000
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
Reserved | |||||||
--- | --- | --- | --- | --- | --- | --- | --- |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
Reserved | SLKIE | WKUIE | |||||
--- | --- | --- | --- | --- | --- | rw | rw |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
ERRIE | Reserved | LECIE | BOFIE | EPVIE | EWGIE | ||
rs | --- | --- | --- | rw | rw | rw | rw |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved | FOVIE1 | FFIE1 | FMPIE1 | FOVIE0 | FFIE0 | FMPIE0 | TMEIE |
--- | rw | rw | rw | rw | rw | rw | rw |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
0 : при установке бита SLAKI в регистре CAN_MSR прерывание не происходит.
1 : генерируется прерывание при установке бита SLAKI в регистре CAN_MSR.
0 : при установке бита WKUI в регистре CAN_MSR прерывание не происходит.
1 : генерируется прерывание при установке бита WKUI в регистре CAN_MSR.
0 : при обнаружении ошибки прерывание не происходит.
1 : генерируется прерывание при обнаружении ошибки.
0 : нет действий.
1 : устанавливается бит ERRI в регистре CAN_MSR и вызывается прерывание, когда код ошибки в LEC[2:0] будет установлен аппаратным обеспечением при обнаружении ошибки.
0 : нет действий.
1 : устанавливается бит ERRI в регистре CAN_MSR и вызывается прерывание, когда обнаружена ошибка и установлен бит BOFF в регистре CAN_ESR.
0 : нет действий.
1 : устанавливается бит ERRI в регистре CAN_MSR и вызывается прерывание, когда обнаружена ошибка и установлен бит EPVF в регистре CAN_ESR.
0 : нет действий.
1 : устанавливается бит ERRI в регистре CAN_MSR и вызывается прерывание, когда обнаружена ошибка и установлен бит EWGF в регистре CAN_ESR.
0 : нет действий.
1 : при переполнении приёмного буфера FIFO 1 вызывается прерывание, когда установлен бит FOVR в регистре CAN_RF1R.
0 : нет действий.
1 : при заполнении приёмного буфера FIFO 1 вызывается прерывание, когда установлен бит FULL в регистре CAN_RF1R.
0 : нет действий.
1 : прерывание генерируется, если в приёмном буфере FIFO 1 есть принятые сообщения и значение счетчика FMP1[1:0] в регистре CAN_RF1R не равно 0.
0 : нет действий.
1 : при переполнении приёмного буфера FIFO 0 вызывается прерывание, когда установлен бит FOVR в регистре CAN_RF0R.
0 : нет действий.
1 : при заполнении приёмного буфера FIFO 0 вызывается прерывание, когда установлен бит FULL в регистре CAN_RF0R.
0 : нет действий.
1 : прерывание генерируется, если в приёмном буфере FIFO 0 есть принятые сообщения и значение счетчика FMP0[1:0] в регистре CAN_RF0R не равно 0.
0 : нет действий.
1 : прерывание генерируется, если установлен бит RQCPx в регистре CAN_MSR.
/******************** Bit definition for CAN_IER register *******************/
#define CAN_IER_TMEIE ((uint32_t)0x00000001) /* Transmit Mailbox Empty Interrupt Enable */
#define CAN_IER_FMPIE0 ((uint32_t)0x00000002) /* FIFO Message Pending Interrupt Enable */
#define CAN_IER_FFIE0 ((uint32_t)0x00000004) /* FIFO Full Interrupt Enable */
#define CAN_IER_FOVIE0 ((uint32_t)0x00000008) /* FIFO Overrun Interrupt Enable */
#define CAN_IER_FMPIE1 ((uint32_t)0x00000010) /* FIFO Message Pending Interrupt Enable */
#define CAN_IER_FFIE1 ((uint32_t)0x00000020) /* FIFO Full Interrupt Enable */
#define CAN_IER_FOVIE1 ((uint32_t)0x00000040) /* FIFO Overrun Interrupt Enable */
#define CAN_IER_EWGIE ((uint32_t)0x00000100) /* Error Warning Interrupt Enable */
#define CAN_IER_EPVIE ((uint32_t)0x00000200) /* Error Passive Interrupt Enable */
#define CAN_IER_BOFIE ((uint32_t)0x00000400) /* Bus-Off Interrupt Enable */
#define CAN_IER_LECIE ((uint32_t)0x00000800) /* Last Error Code Interrupt Enable */
#define CAN_IER_ERRIE ((uint32_t)0x00008000) /* Error Interrupt Enable */
#define CAN_IER_WKUIE ((uint32_t)0x00010000) /* Wakeup Interrupt Enable */
#define CAN_IER_SLKIE ((uint32_t)0x00020000) /* Sleep Interrupt Enable */