简介:
在之前的贴子,我们使用S32DS初始化配置适配了 S32K146 FreeRTOS 和 UART 的收发功能,我们在此工程的基础上继续添加I2C外设的配置。S32K146 的 I2C 是重要通信接口。支持主从模式,有标准、快速等传输速率。具备中断与 DMA 功能,可提高效率,支持 7 位和 10 位从设备地址本次试验我们使用主模式标准传输速率和7位地址的基本配置来验证I2C功能。
时钟配置
时钟源使用内部SIRC的8M 时钟源
PIN脚配置
按照上的I2C 接口设计配置 PTA2/PTA3 为I2C功能引脚
I2C参数配置
S32DS 配置好上述参数后生成代码,会生成如下I2C初始化配置结构体。
lpi2c_master_user_config_t lpi2c0_MasterConfig0 = { .slaveAddress = 50U, .is10bitAddr = false, .operatingMode = LPI2C_STANDARD_MODE, .baudRate = 100000UL, .transferType = LPI2C_USING_INTERRUPTS, .dmaChannel = 0U, .masterCallback = NULL, .callbackParam = NULL }; lpi2c_slave_user_config_t lpi2c0_SlaveConfig0 = { .slaveAddress = 50U, .is10bitAddr = false, .operatingMode = LPI2C_STANDARD_MODE, .slaveListening = true, .transferType = LPI2C_USING_INTERRUPTS, .dmaChannel = 0U, .slaveCallback = NULL, .callbackParam = NULL };