SPI_I2S configuration register (SPI_I2SCFGR)
Регистр конфигурации SPI/I2S
Смещение (Address offset): 0x1C
Reset value: 0x0000
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| Reserved | I2SMOD | I2SE | I2SCFG[1:0] | ||||
| --- | rw | rw | rw | ||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| PCMSYNC | Reserved | I2SSTD[1:0] | CKPOL | DATLEN[1:0] | CHLEN | ||
| rw | --- | rw | rw | rw | rw | ||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 : режим SPI
1 : режим I2S
Выбор режима возможен при отключенном контроллере SPI (бит SPE регистра SPI_CR1) и I2S (бит I2SE этого регистра).
0 : контроллер I2S отключен
1 : контроллер I2S включен
Бит недоступен при включенном SPI-контроллере (бит SPE=1 регистра SPI_CR1).
00 : Slave - transmit
01 : Slave - receive
10 : Master - transmit
11 : Master - receive
Изменение конфигурации возможно когда I2S отключен (I2SE=0)
Недоступен в SPI режиме.
0 :
1 :
Недоступен в SPI режиме.
00 : I2S Philips standard
01 : MSB justified standard (left justified)
10 : LSB justified standard (right justified)
11 : PCM standard
Изменение конфигурации возможно когда I2S отключен (I2SE=0)
Недоступен в SPI режиме.
0 : установившийся уровень тактового сигнала — низкий
1 : установившийся уровень тактового сигнала — высокий
Изменение бита возможно когда I2S отключен (I2SE=0)
Недоступен в SPI режиме.
00 : 16 бит
01 : 24 бита
10 : 32 бита
11 : недоступно
Изменение конфигурации возможно когда I2S отключен (I2SE=0)
Недоступен в SPI режиме.
0 : 16 бит
1 : 32 бита
16-битный аудиоканал возможет только при DATLEN=00. В противном случае аппаратно выставляется 32-битный аудиоканал независомо от значения CHLEN
Изменение бита возможно когда I2S отключен (I2SE=0)
Недоступен в SPI режиме.
/******************* Bit definition for SPI_I2SCFGR register ********************/
#define SPI_I2SCFGR_CHLEN ((uint16_t)0x0001) /* Channel length (number of bits per audio channel) */
#define SPI_I2SCFGR_DATLEN ((uint16_t)0x0006) /* DATLEN[1:0] bits (Data length to be transferred) */
#define SPI_I2SCFGR_DATLEN_0 ((uint16_t)0x0002) /* Bit 0 */
#define SPI_I2SCFGR_DATLEN_1 ((uint16_t)0x0004) /* Bit 1 */
#define SPI_I2SCFGR_CKPOL ((uint16_t)0x0008) /* steady state clock polarity */
#define SPI_I2SCFGR_I2SSTD ((uint16_t)0x0030) /* I2SSTD[1:0] bits (I2S standard selection) */
#define SPI_I2SCFGR_I2SSTD_0 ((uint16_t)0x0010) /* Bit 0 */
#define SPI_I2SCFGR_I2SSTD_1 ((uint16_t)0x0020) /* Bit 1 */
#define SPI_I2SCFGR_PCMSYNC ((uint16_t)0x0080) /* PCM frame synchronization */
#define SPI_I2SCFGR_I2SCFG ((uint16_t)0x0300) /* I2SCFG[1:0] bits (I2S configuration mode) */
#define SPI_I2SCFGR_I2SCFG_0 ((uint16_t)0x0100) /* Bit 0 */
#define SPI_I2SCFGR_I2SCFG_1 ((uint16_t)0x0200) /* Bit 1 */
#define SPI_I2SCFGR_I2SE ((uint16_t)0x0400) /* I2S Enable */
#define SPI_I2SCFGR_I2SMOD ((uint16_t)0x0800) /* I2S mode selection */