硬件连接
本 demo 基于 BL706_IOT 开发板,自行添加 AT24CXX 电路,连接方式如下:
![](//file.elecfans.com/web2/M00/59/96/pYYBAGLnlzWATe2mAAAfNqFrlIs518.jpg)
软件实现
软件代码见 examples/i2c/i2c_at24cxx
![](//file.elecfans.com/web2/M00/59/96/pYYBAGLnlzWAaGo7AAAgjUYdyTw996.jpg)
配置 I2C 设备时钟源,见 bsp/board/bl706_iot/clock_config.h
![](//file.elecfans.com/web2/M00/59/96/pYYBAGLnlzWAC0ynAAAfwLTXSTg541.jpg)
配置 I2C 设备复用引脚,见 bsp/board/bl706_iot/pinmux_config.h
![](//file.elecfans.com/web2/M00/58/F7/poYBAGLnlzWATpRxAAAwUi934-M296.jpg)
使能 BSP_USING_I2C0 并配置 I2C 设备配置,见 bsp/board/bl706_iot/peripheral_config.h
![](//file.elecfans.com/web2/M00/59/96/pYYBAGLnlzWASzPwAAA7OZhV6e8687.jpg)
首先调用 i2c_register 函数注册 I2C 设备,当前注册 I2C0
然后通过 find 函数找到设备对应的句柄,保存于 i2c0 句柄中
最后使用 device_open 以默认模式来打开 I2C0 设备
![](//file.elecfans.com/web2/M00/58/F7/poYBAGLnlzWAWS3pAACJ2RqNdps219.jpg)
调用 i2c_transfer 传输两个 msg,一个 msg 代表向 eeprom 写入 8 字节数据,一个 msg 代表从 eeprom 读取 8 字节数据,
编译和烧录
CDK 编译
打开项目中提供的工程文件:i2c_at24cxx.cdkproj
参照 Windows 下使用 CDK (类 MDK Keil)开发指南 的步骤编译下载即可
命令行编译
![](//file.elecfans.com/web2/M00/58/F7/poYBAGLnlzWAetRPAAAauwkF8X0169.jpg)
原作者:BL_MCU_SDK 开发指南
|