STM32F10xxx SPI/I2S寄存器详解

需积分: 9 16 下载量 91 浏览量 更新于2024-08-06 收藏 12.42MB PDF 举报
"STM32微控制器的SPI和I2S接口寄存器详细描述" 在STM32微控制器中,SPI(串行外围接口)和I2S(集成串行音频接口)是两种用于通信的外设。它们通过一组特定的寄存器进行配置和控制,以实现数据的发送和接收。这篇资料主要介绍了SPI控制寄存器1(SPI_CR1)的详细信息,而I2S模式下不使用这些功能。 SPI_CR1寄存器位于地址偏移0x00,其复位值为0x0000,可以通过半字(16位)或字(32位)方式进行操作。以下为SPI_CR1寄存器中各位的详细解释: 1. BIDIMODE(双向数据模式使能):位15。当设置为1时,启用“单线双向”模式,数据线MOSI(主机输出,从机输入)在主设备变为输出,而在从设备变为输入。在I2S模式下不使用。 2. BIDIOE(双向模式下的输出使能):位14。配合BIDIMODE位,决定在“单线双向”模式下数据的输出方向。0表示禁止输出(只接收模式),1表示启用输出(只发送模式)。同样,I2S模式下不使用。 3. CRCEN(硬件CRC校验使能):位13。当设置为1时,启动硬件CRC计算,用于数据完整性检查。CRC计算仅在SPI禁止(SPE=0)时可以设置,否则会导致错误。仅在全双工模式下有效,I2S模式下不支持。 4. CRCNEXT(下一个发送CRC):位12。0表示下一次发送的数据来自发送缓冲区,1表示从CRC寄存器发送CRC值。写入SPI_DR寄存器后应立即设置此位。I2S模式下不使用。 5. DFF(数据帧格式):位11。用于设定数据帧大小,0表示8位数据,1表示16位数据。必须在SPI禁止时更改此设置,否则会出错。I2S模式下不使用。 6. RXONLY(只接收):位10。配合BIDIMODE位,用于设定在“双线双向”模式下的传输方向。0表示全双工模式,1表示禁止输出(只接收)。I2S模式下不支持。 7. SSM(软件从设备管理):位9。设置为1时,NSS(从设备选择)引脚的电平由SSI位决定,允许软件控制从设备的选通。0表示禁止,1表示启用。I2S模式下不使用。 STM32F10xxx系列是STM32家族的一部分,这些寄存器描述基于STM32 Reference Manual (RM0008)的2009年12月英文第10版。STM32微控制器的参考资料包括技术参考手册和数据手册,前者提供功能模块的内部结构、工作模式和寄存器配置等详细信息,后者则列出产品的基本配置、电气特性和封装信息等。 需要注意的是,尽管这篇资料基于英文第10版进行了校对,但可能仍存在未完全同步的细节,因此建议读者在ST官方网站查找最新版本的手册以获取最准确的信息。对于发现的错误或问题,读者可以通过邮件mcu.china@st.com向意法半导体(中国)投资有限公司的技术支持团队反馈。