233|6

689

帖子

1

资源

纯净的硅(初级)

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论坛
个人签名

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


回复

5825

帖子

18

资源

五彩晶圆(中级)

谢谢分享,期待后续!

点评

感谢捧场    详情 回复 发表于 4 天前
个人签名

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


回复

689

帖子

1

资源

纯净的硅(初级)

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

感谢捧场

 

个人签名

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


回复

689

帖子

1

资源

纯净的硅(初级)

作业:使用LPI2C去读ADX111的ADC值 Analogysemi-ADX111.pdf (661.67 KB, 下载次数: 0)
个人签名

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


回复

689

帖子

1

资源

纯净的硅(初级)

图片.png  

个人签名

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


回复

2

帖子

0

资源

一粒金砂(初级)

谢谢分享

点评

谢谢捧场  详情 回复 发表于 昨天 10:11

回复

689

帖子

1

资源

纯净的硅(初级)

谢谢捧场

个人签名

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


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

相关帖子
查找数据手册?

EEWorld Datasheet 技术支持

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

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

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

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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