这是我第一次用到IIS,做个记录~
cubemax配置
我使用的是cubemax,这里主要记录iis的相关配置
由于我的mcu(stm32f407)只需要接收,不需要发送,所以选择master receive模式即可,协议使用飞利浦标准,数据格式和采样频率参考和mcu通信的slaver。这里我的从机是adxl317。
打开IIS的中断
加上DMA
关于时钟,我的设置如下图,I2S时钟填了50MHz。我当时不太理解这里要填多少,我随便填的。
现在想起来,有可能是I2S的系统时钟线(MCLK)上的时钟。但是我这个工程是用不到这个系统时钟线的,所以我随便填了一个。如果有需要用到的话,公式为:MCLK的频率 = 128或者256或者512 * 采样频率
生成工程后,在工程中添加代码:
uint16_t iis_rec[4]={0};
HAL_I2S_Receive_DMA(&hi2s3,iis_rec,4); //开启iis
(我在一堆初始化结束之后的地方添加的)