SPI和I2S寄存器描述-操作系统习题与解析
23.5 SPI和I2S寄存器描述
关于寄存器描述中所用到的缩略词可参见第1.1节。可以用半字(16位)或字(32位)的方式操作这些外设寄存器。
23.5.1 SPI控制寄存器1(SPI_CR1)(I2S模式下不使用)
-
地址偏移: 0x00
-
复位值: 0x0000
地址偏移: 0x00
复位值: 0x0000
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|
| BIDI MODE | BIDI OE | CRCEN | CRC NEXT | DFF | RX ONLY | SSM | SSI | LSB FIRST | SPE | MSTR | CPOL | CPHA | rw | BR[2:0] |
BIDIMODE:双向数据模式使能(Bidirectional data mode enable)
-
位15
-
0: 选择“双线双向”模式
-
1: 选择“单线双向”模式
-
注: I2S模式下不使用
BIDIOE:双向模式下的输出使能(Output enable in bidirectional mode)
-
位14 和BIDIMODE位一起决定在“单线双向”模式下数据的输出方向
-
0: 输出禁止(只收模式)
-
1: 输出使能(只发模式)
-
注: I2S模式下不使用
CRCEN:硬件CRC校验使能(Hardware CRC calculation enable)
-
位13
-
0: 禁止CRC计算
-
1: 启动CRC计算
-
注: 只有在禁止SPI时(SPE=0),才能写该位,否则出错。该位只能在全双工模式下使用。
-
注: I2S模式下不使用
CRCNEXT:下一个发送CRC (Transmit CRC next)
-
位12
-
0: 下一个发送的值来自发送缓冲区
-
1: 下一个发送的值来自发送CRC寄存器
-
注: 在SPI_DR寄存器写入后一个数据后应马上设置该位
-
注: I2S模式下不使用
DFF:数据帧格式(Data frame format)
-
位11
-
0: 使用8位数据帧格式进行发送/接收
-
1: 使用16位数据帧格式进行发送/接收
-
注: 只有当SPI禁止(SPE=0)时,才能写该位,否则出错
-
注: I2S模式下不使用
RXONLY:只接收(Receive only)
-
位10 该位和BIDIMODE位一起决定在“双线双向”模式下的传输方向。在多个从设备的配置中,在未被访问的从设备上该位被置1,使得只有被访问的从设备有输出,从而不会造成数据线上数据冲突。
-
0: 全双工(发送和接收)
-
1: 禁止输出(只接收模式)
-
注: I2S模式下不使用
SSM:软件从设备管理(Software slave management)
-
位9 当SSM被置位时,NSS引脚上的电平由SSI位的值决定
-
0: 禁止软件从设备管理
-
1: 启用软件从设备管理
-
注: I2S模式下不使用
位15
0: 选择“双线双向”模式
1: 选择“单线双向”模式
注: I2S模式下不使用
-
位14 和BIDIMODE位一起决定在“单线双向”模式下数据的输出方向
-
0: 输出禁止(只收模式)
-
1: 输出使能(只发模式)
-
注: I2S模式下不使用
CRCEN:硬件CRC校验使能(Hardware CRC calculation enable)
-
位13
-
0: 禁止CRC计算
-
1: 启动CRC计算
-
注: 只有在禁止SPI时(SPE=0),才能写该位,否则出错。该位只能在全双工模式下使用。
-
注: I2S模式下不使用
CRCNEXT:下一个发送CRC (Transmit CRC next)
-
位12
-
0: 下一个发送的值来自发送缓冲区
-
1: 下一个发送的值来自发送CRC寄存器
-
注: 在SPI_DR寄存器写入后一个数据后应马上设置该位
-
注: I2S模式下不使用
DFF:数据帧格式(Data frame format)
-
位11
-
0: 使用8位数据帧格式进行发送/接收
-
1: 使用16位数据帧格式进行发送/接收
-
注: 只有当SPI禁止(SPE=0)时,才能写该位,否则出错
-
注: I2S模式下不使用
RXONLY:只接收(Receive only)
-
位10 该位和BIDIMODE位一起决定在“双线双向”模式下的传输方向。在多个从设备的配置中,在未被访问的从设备上该位被置1,使得只有被访问的从设备有输出,从而不会造成数据线上数据冲突。
-
0: 全双工(发送和接收)
-
1: 禁止输出(只接收模式)
-
注: I2S模式下不使用
SSM:软件从设备管理(Software slave management)
-
位9 当SSM被置位时,NSS引脚上的电平由SSI位的值决定
-
0: 禁止软件从设备管理
-
1: 启用软件从设备管理
-
注: I2S模式下不使用
位13
0: 禁止CRC计算
1: 启动CRC计算
注: 只有在禁止SPI时(SPE=0),才能写该位,否则出错。该位只能在全双工模式下使用。
注: I2S模式下不使用
-
位12
-
0: 下一个发送的值来自发送缓冲区
-
1: 下一个发送的值来自发送CRC寄存器
-
注: 在SPI_DR寄存器写入后一个数据后应马上设置该位
-
注: I2S模式下不使用
DFF:数据帧格式(Data frame format)
-
位11
-
0: 使用8位数据帧格式进行发送/接收
-
1: 使用16位数据帧格式进行发送/接收
-
注: 只有当SPI禁止(SPE=0)时,才能写该位,否则出错
-
注: I2S模式下不使用
RXONLY:只接收(Receive only)
-
位10 该位和BIDIMODE位一起决定在“双线双向”模式下的传输方向。在多个从设备的配置中,在未被访问的从设备上该位被置1,使得只有被访问的从设备有输出,从而不会造成数据线上数据冲突。
-
0: 全双工(发送和接收)
-
1: 禁止输出(只接收模式)
-
注: I2S模式下不使用
SSM:软件从设备管理(Software slave management)
-
位9 当SSM被置位时,NSS引脚上的电平由SSI位的值决定
-
0: 禁止软件从设备管理
-
1: 启用软件从设备管理
-
注: I2S模式下不使用
位11
0: 使用8位数据帧格式进行发送/接收
1: 使用16位数据帧格式进行发送/接收
注: 只有当SPI禁止(SPE=0)时,才能写该位,否则出错
注: I2S模式下不使用
-
位10 该位和BIDIMODE位一起决定在“双线双向”模式下的传输方向。在多个从设备的配置中,在未被访问的从设备上该位被置1,使得只有被访问的从设备有输出,从而不会造成数据线上数据冲突。
-
0: 全双工(发送和接收)
-
1: 禁止输出(只接收模式)
-
注: I2S模式下不使用
SSM:软件从设备管理(Software slave management)
-
位9 当SSM被置位时,NSS引脚上的电平由SSI位的值决定
-
0: 禁止软件从设备管理
-
1: 启用软件从设备管理
-
注: I2S模式下不使用
位9 当SSM被置位时,NSS引脚上的电平由SSI位的值决定
0: 禁止软件从设备管理
1: 启用软件从设备管理
注: I2S模式下不使用
更多详情可参考以下相关文件: