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