经过前面第一个外设的学习,大概也是知道外设在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:UsersxutongDownloadsCompressedSDK_2_12_1_MIMXRT1052xxxxBboardsevkbimxrt1050driver_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的效果如下
测试环境如下
页面更新:2024-04-16
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号