SPI control register 2 (SPI_CR2)
Второй регистр управления SPI
Смещение (Address offset): 0x04
Reset value: 0x0000
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| Reserved | |||||||
| --- | |||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| TXEIE | RXNEIE | ERRIE | Reserved | SSOE | TXDMAEN | RXDMAEN | |
| rw | rw | rw | --- | rw | rw | rw | |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 : прерывание запрещено
1 : разрешает прерывание и по событию устанавливает флаг TXE в регистре SPI_SR
0 : прерывание запрещено
1 : разрешает прерывание и по событию устанавливает флаг RXNE в регистре SPI_SR
0 : прерывание запрещено
1 : разрешает прерывание и по событию устанавливает соответствующие флаги в регистре SPI_SR
Бит управляет генерацией прерывания при возникновении ошибки (CRCERR, OVR, MODF в режиме SPI и UDR, OVR в режиме I2S).
0 :
1 :
Бит недоступен в режиме I2S.
0 : отключает DMA для буфера передачи
1 : разрешает запрос DMA и по событию устанавливает флаг TXE в регистре SPI_SR
0 : отключает DMA для буфера приёма
1 : разрешает запрос DMA и по событию устанавливает флаг RXNE в регистре SPI_SR
/******************* Bit definition for SPI_CR2 register ********************/
#define SPI_CR2_RXDMAEN ((uint8_t)0x01) /* Rx Buffer DMA Enable */
#define SPI_CR2_TXDMAEN ((uint8_t)0x02) /* Tx Buffer DMA Enable */
#define SPI_CR2_SSOE ((uint8_t)0x04) /* SS Output Enable */
#define SPI_CR2_ERRIE ((uint8_t)0x20) /* Error Interrupt Enable */
#define SPI_CR2_RXNEIE ((uint8_t)0x40) /* RX buffer Not Empty Interrupt Enable */
#define SPI_CR2_TXEIE ((uint8_t)0x80) /* Tx buffer Empty Interrupt Enable */