测试指南
5 Nov 2024
Read time: 3 minute(s)
测试环境
- 硬件
-
测试板:带有 eeprom 或者其他 I2C 从设备模块的测试板
-
PC:用于和测试板交互
-
串口线:连接测试板的调试串口
-
- 软件
-
PC 端串口终端软件
-
i2c-tools、i2c 测试代码
-
使能测试代码
Drivers options --->
Drivers examples --->
[*] Enable i2c driver test comnand
注:
裸机环境和将 I2C 设置成从机模式的时候需要打开这个测试代码
Local packages options --->
Third-party packages options --->
[*] i2c-tools: a collection of i2c tools including scan/read/write
[*] at24cxx: eeprom at24cxx driver library
注:
i2c-tools 和 at24cxx 这两个 RT-Thread 第三方包分别对应着从机设备是 8bit 寄存器和 16bit 寄存器从机的测试,按需求将其打开
I2C 测试
-
at24cxx 的使用
判断 I2C 总线与 eeprom 是否正常通信可以先进行读测试查看 eeprom 的初始参数在通过写命令将数据写入 eeprom,最后再调用读命令查看数据读出来的数据是否与写入数据一致。
-
初始化 i2c 与 eeprom 的连接
at24cxx probe i2c0 0x50 第三个参数为总线号,第四个参数为 eeprom 的地址(具体要看数据手册结合原理图确定)
-
读操作
at24cxx read
-
写操作
at24cxx write 0x22 第三个参数是要写的数据
-
-
i2c-tools 的使用
-
扫描从机设备地址
ArtInChip /> i2c scan i2c1 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- 18 -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
写操作
ArtInChip /> i2c write i2c1 0x18 0x0 0
-
读操作
ArtInChip /> i2c read i2c1 0x18 0x0 1 [ 0x00 ]
注:如果不清楚工具的具体使用方法可以直接在命令行输入工具名字,然后回车即可看到详细的使用方法。
-
-
裸机环境下读写测试以 16bit 寄存器的从机为例:注:
目前的 I2C 测试工具仅支持单个字节数据的收发。
-
读操作
ArtInChip /> i2c read 0 0x50 -16 0x1234 read_data: 0xff
-
写操作
ArtInChip /> i2c write 0 0x50 -16 0x1234 0x11 write_data: 0x11
-
具体参数解释
0:I2C 的总线号 0x50:从机设备的地址 -16:16bit 的寄存器地址,如果是 8bit 的寄存器则使用 -8 0x1234:要读写的 16bit 寄存器地址 0x11:要写入的数据 如果不清楚命令使用可在命令行输入 ``i2c`` 查询具体使用方法
-