镇江市建设工程网站,网站怎么做360免费优化,做免费网站有哪些,90设计app下载10.6.2 AT24C02 访问方法 设备地址 从芯片手册上可以知道#xff0c;AT24C02 的设备地址跟它的 A2、A1、A0 引脚有关#xff1a; 图 10.36 AT24C02 设备地址引脚配置 294 / 577 打开 I2C 模块的原理图#xff1a; 开发板配套网盘资料\04_开发板原理图\ 04_Extend_modules\通…10.6.2 AT24C02 访问方法 设备地址 从芯片手册上可以知道AT24C02 的设备地址跟它的 A2、A1、A0 引脚有关 图 10.36 AT24C02 设备地址引脚配置 294 / 577 打开 I2C 模块的原理图 开发板配套网盘资料\04_开发板原理图\ 04_Extend_modules\通用模块\eeprom.zip\i2c_eeprom_module_v1.0.pdf 图 10.37 从原理图可知A2A1A0 都是 0所以 AT24C02 的设备地址是0b1010000即 0x50。 写数据 图 10.38 AT24C02 写数据时序 读数据 可以读 1 个字节也可以连续读出多个字节。连续读多个字节时芯片内部 的地址会自动累加。当地址到达存储空间最后一个地址时会从 0 开始。 图 10.39 AT24C02 读数据时序 295 / 577 10.6.3 使用 I2C-Tools 的函数编程 I2C_Tools 上一小节已经讲解过读者可自行学习编写程序。 10.6.4 编译 编译应用程序需要设置交叉编译工具链vim ~/.bashrc export ARCHarm export CROSS_COMPILE arm-buildroot-linux-gnueabihfexport PATH$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueab ihf_sdk-buildroot/bin 使用 I2C-Tools 的源码 01_all_series_quickstart\ 04_嵌入式 Linux 应用开发基础知识\source\15_I2C\01_at24c02_test 图 10.40 测试源码 编译 为 IMX6ULL 编译时有如下错误 图 10.41 IMX6ULL 编译 I2C 例程错误提示 这是因为 IMX6ULL 的工具链自带的 include 目录中没有 smbus.h需要 我们自己提供这个头文件解决方法 ⚫ 提供头文件 296 / 577 图 10.42 复制头文件 ⚫ 修改 Makefile 指定头文件目录 all: $(CROSS_COMPILE)gcc -I ./include -o at24c02_test at24c02_test.c i2cbusses.c smbus.c 10.6.5 上机测试 注意以下命令在开发板中执行。