1. 首页
  2. 编程语言
  3. 硬件开发
  4. SPI和I2S寄存器描述-操作系统习题与解析

SPI和I2S寄存器描述-操作系统习题与解析

上传者: 2024-07-22 20:46:38上传 PDF文件 12.42MB 热度 7次

23.5 SPI和I2S寄存器描述

关于寄存器描述中所用到的缩略词可参见第1.1节。可以用半字(16位)或字(32位)的方式操作这些外设寄存器。

23.5.1 SPI控制寄存器1(SPI_CR1)(I2S模式下不使用)

  • 地址偏移: 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模式下不使用

更多详情可参考以下相关文件:

下载地址
用户评论