2804|6

2647

帖子

6

TA的资源

五彩晶圆(初级)

楼主
 

RT1052(3)LPI2C [复制链接]

RT1052(3) LPI2C的使用

经过前面第一个外设的学习,大概也是知道外设在RT1052里面的配置套路。大致如下。

// 开始:

// 准备1:先在drivers 里添加lpiic的 driver

// 准备2:添加头文件 #include "fsl_lpi2c.h"

// 1.配置iic gpio 在InitPins 里面实现

// 2.配置iic 时钟

// 3.配置default master的配置

// 4.配置iic master配置

 

GPIO的配置代码如下:

IOMUXC_SetPinMux(

IOMUXC_GPIO_AD_B1_00_LPI2C1_SCL, /* GPIO_AD_B1_00 is configured as LPI2C1_SCL */

1U);

/* Software Input On Field: Input Path is determined by functionality */

IOMUXC_SetPinMux(

 

IOMUXC_GPIO_AD_B1_01_LPI2C1_SDA, /* GPIO_AD_B1_01 is configured as LPI2C1_SDA */

1U); /* Software Input On Field: Input Path is determined by functionality */

IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_B1_00_LPI2C1_SCL, 0x18B0U);

IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_B1_01_LPI2C1_SDA, 0x18B0U);

以上使用mcuxpresso config的工具生成的

然后需要对IIc的时钟进行配置,具体这个时钟怎么配对应那个可以看看sdk里面的描述

/*Clock setting for LPI2C*/

CLOCK_SetMux(kCLOCK_Lpi2cMux, 0u);

CLOCK_SetDiv(kCLOCK_Lpi2cDiv, 5u);

附sdk的地址

C:\Users\xutong\Downloads\Compressed\SDK_2_12_1_MIMXRT1052xxxxB\boards\evkbimxrt1050\driver_examples

其次对lpi2c的外设做一些default的配置,如果你要修改直接修改结构体参数即可。

lpi2c_master_config_t lpi2cConfig = {0};

 

/*

* lpi2cConfig.debugEnable = false;

* lpi2cConfig.ignoreAck = false;

* lpi2cConfig.pinConfig = kLPI2C_2PinOpenDrain;

* lpi2cConfig.baudRate_Hz = 100000U;

* lpi2cConfig.busIdleTimeout_ns = 0;

* lpi2cConfig.pinLowTimeout_ns = 0;

* lpi2cConfig.sdaGlitchFilterWidth_ns = 0;

* lpi2cConfig.sclGlitchFilterWidth_ns = 0;

*/

LPI2C_MasterGetDefaultConfig(&lpi2cConfig);

 

LPI2C_MasterInit(EEPROM_I2C_MASTER , &lpi2cConfig, LPI2C1_CLOCK_FREQ);

最后写blocker 大概配置,

bool iic_send(void)

{

lpi2c_master_transfer_t trans;

status_t reVal = kStatus_Fail;

 

uint8_t datas[]={0x55,0xaa};

trans.data=datas;

trans.dataSize=2;

trans.direction=kLPI2C_Write;

trans.slaveAddress=(0xa0>>1);

trans.subaddress=0x01;

trans.subaddressSize=0x01;

trans.flags=kLPI2C_TransferDefaultFlag;

reVal = LPI2C_MasterTransferBlocking(LPI2C1,&trans);

 

if (reVal != kStatus_Success) {

return 1;

}

return 0;

}

具体怎么编可以看NXP的api参考

https://mcuxpresso.nxp.com/api_doc/dev/2349/a00052.html

最后验证LP I2C的效果如下

测试环境如下

此帖出自NXP MCU论坛

最新回复

谢谢分享  详情 回复 发表于 2022-11-26 19:23
点赞 关注(1)
个人签名

希望做一些大家觉得好用的东西!

 

回复
举报

7671

帖子

18

TA的资源

五彩晶圆(高级)

沙发
 

谢谢分享,期待后续!

此帖出自NXP MCU论坛

点评

感谢捧场    详情 回复 发表于 2022-11-24 13:20
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

2647

帖子

6

TA的资源

五彩晶圆(初级)

板凳
 
freebsder 发表于 2022-11-24 12:01 谢谢分享,期待后续!

感谢捧场

 

此帖出自NXP MCU论坛
 
个人签名

希望做一些大家觉得好用的东西!

 
 

回复

2647

帖子

6

TA的资源

五彩晶圆(初级)

4
 
作业:使用LPI2C去读ADX111的ADC值 Analogysemi-ADX111.pdf (661.67 KB, 下载次数: 2)

 

此帖出自NXP MCU论坛
 
个人签名

希望做一些大家觉得好用的东西!

 
 

回复

2647

帖子

6

TA的资源

五彩晶圆(初级)

5
 

 

此帖出自NXP MCU论坛
 
个人签名

希望做一些大家觉得好用的东西!

 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

6
 

谢谢分享

此帖出自NXP MCU论坛

点评

谢谢捧场  详情 回复 发表于 2022-11-27 10:11
 
 
 

回复

2647

帖子

6

TA的资源

五彩晶圆(初级)

7
 

谢谢捧场

此帖出自NXP MCU论坛
 
个人签名

希望做一些大家觉得好用的东西!

 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表