这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 【S32K146车规级MCU】使用S32DS适配I2C接口

共3条 1/1 1 跳转至

【S32K146车规级MCU】使用S32DS适配I2C接口

工程师
2025-02-22 16:25:53     打赏

简介:

      在之前的贴子,我们使用S32DS初始化配置适配了 S32K146 FreeRTOS 和 UART 的收发功能,我们在此工程的基础上继续添加I2C外设的配置。S32K146 的 I2C 是重要通信接口。支持主从模式,有标准、快速等传输速率。具备中断与 DMA 功能,可提高效率,支持 7 位和 10 位从设备地址本次试验我们使用主模式标准传输速率和7位地址的基本配置来验证I2C功能。

时钟配置

时钟源使用内部SIRC的8M 时钟源

image.png

image.png

PIN脚配置

按照上的I2C 接口设计配置 PTA2/PTA3 为I2C功能引脚image.png

I2C参数配置

image.png

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
};




                   


专家
2025-02-22 21:55:20     打赏
2楼

感谢分享


专家
2025-02-22 22:08:05     打赏
3楼

感谢分享


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]