在stm32系列的片子中,有的i2s和spi是共用管脚的。
以stm32f103fzet6为例,I2S和SPI共用3个引脚:SD:串行数据(映射至MOSI引脚),用来发送和接收2路时分复用通道的数据(PB15);WS:字选(映射至NSS引脚),主模式下作为数据控制信号输出,从模式下作为输入(PB12);CK:串行时钟(映射至SCK引脚),主模式下作为时钟信号输出,从模式下作为输入(PB13)。模式配置(IS_I2S_MODE):设置寄存器SPI_I2SCFG[1:0]选择I2S主模式和方向。00: 从设备发送(I2S_Mode_SlaveTx);01: 从设备接收(I2S_Mode_SlaveRx);10: 主设备发送(I2S_Mode_MasterTx);11: 主设备接受(I2S_Mode_MasterRx)。主设备输出WS,SCK;从设备WS,SCK作为输入信号。发送端输出SD;接收端SD作为输入信号。