概述
设置GPIO管脚值
命令功能
gpio_operate set_value gpio_group**gpio_pin value用于设置GPIO管脚值。
参数说明
| 类型 | 描述 |
|---|---|
| gpio_group | GPIO组号,取值为[0,8] |
| gpio_pin | GPIO管脚号,取值为[0,31] |
| value | GPIO管脚值,取值为[0,1] 当GPIO管脚方向为输入方向时,不允许设置GPIO管脚值。 |
使用实例
设置第0组第2个管脚的值为0。
gpio_operate set_value 0 2 0
Set gpio pin value successed.
父主题: 使用示例
查询GPIO管脚方向
命令功能
gpio_operate get_direction gpio_group gpio_pin用于查询GPIO管脚方向。
参数说明
| 类型 | 描述 |
|---|---|
| gpio_group | GPIO组号,取值为[0,8] |
| gpio_pin | GPIO管脚号,取值为[0,31] |
使用实例
查询第0组第2个管脚的GPIO方向。
gpio_operate get_direction 0 2
Get gpio pin direction value successed, value is 0.
表1 打印信息说明
| 字段 | 说明 |
|---|---|
| direction | GPIO管脚方向,取值为[0,1] - 0:输入方向 - 1:输出方向 |
父主题: 使用示例
设置GPIO管脚方向
命令功能
gpio_operate set_direction gpio_group**gpio_pin direction用于设置GPIO管脚方向。
参数说明
| 类型 | 描述 |
|---|---|
| gpio_group | GPIO组号,取值为[0,8] |
| gpio_pin | GPIO管脚号,取值为[0,31] |
| direction | GPIO管脚方向,取值为[0,1] - 0:输入方向 - 1:输出方向 |
使用实例
设置第0组第2个管脚的GPIO方向为输出方向。
gpio_operate set_direction 0 2 1
Set gpio pin direction value successed.
父主题: 使用示例
概述
I2C-tools工具用于调试I2C设备,查看某条总线器件挂载情况,也可查看、获取寄存器的值。
父主题: I2C-tools工具介绍
使用指南
i2cdetect *[option]命令必须使用root用户执行,其中[options]*为命令行运行参数,各参数解释请参见表1。
表1 参数说明表
| 参数 | 说明 |
|---|---|
| -y | 关闭交互模式。 |
| -a | 强制扫描非常规地址(不推荐)。 |
| -q | 使用 SMBus 的“quick write”命令进行探测(不推荐)。 |
| -r | 使用 SMBus 的“receive byte”命令进行探测(不推荐)。 |
| -F | 显示适配器实现的功能列表并退出。 |
| -V | 显示版本信息并退出。 |
| -l | 输出已安装I2C总线的列表。 |
父主题: I2C-tools工具介绍
查询已安装的I2C总线列表
命令功能
i2cdetect -l用于查询已安装的I2C总线列表。
使用实例
i2cdetect -l
回显如下:
root@npi:~# i2cdetect -l
i2c-1 i2c STM32F7 I2C(0x5c002000) I2C adapter
i2c-2 i2c STM32F7 I2C(0x40012000) I2C adapter
i2c-0 i2c STM32F7 I2C(0x40013000) I2C adapter
父主题: 使用示例
查询单条总线下的设备
命令功能
i****2cdetect -y i2cbus用于查询某条总线下的设备。
参数说明
| 参数 | 说明 |
|---|---|
| i2cbus | 由I2C总线数量决定,对应i2cdetect -l扫描的序号。 |
使用实例
i2cdetect -y 0
回显如下:
root@ubuntu:~# i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00:
10:
20:
30: -- -- -- -- -- -- -- --
40:
50: -- -- 52 -- -- -- -- -- -- -- 5a -- -- -- -- --
60:
70:
父主题: 使用示例
I2C与串口基础函数
:::note 说明
- 使用基础函数需要通过命令安装以下依赖,请提前参见配置网络章节为开发者套件共享网络。
-
安装smbus2库。
conda install -c conda-forge smbus2 -
安装pyserial模块。
pip install pyserial
-
- 从设备的地址以及寄存器地址均可以通过I2C-tools查到,如果是标准设备,一般会有统一的地址。 :::
表1 I2C常用函数代码
| 命令/代码 | 说明 |
|---|---|
| import smbus2 | 导入smbus2库。 |
| bus = smbus2.SMBus(7) | 初始化I2C总线,7表示默认I2C总线为i2c-7。 |
| read_byte_data(i2c_addr) | 从设备读取一个字节,i2c_addr为查到的从设备地址。 |
| write_byte_data(i2c_addr) | 向设备写入一个字节。 |
| read_word_data(i2c_addr, register) | 从给定的寄存器中读取一个字(2个字节),register为从设备寄存器地址。 |
| write_word_data(i2c_addr, register) | 将一个字(2个字节)写入给定的寄存器。 |
开发者套件的40Pin接口上默认串口为引脚8(UART0_TX)、10(UART0_RX),对应的串口号为“/dev/ttyAMA0”。也可连接USB0作为串口,对应的串口号为“ /dev/ttyUSB0”。
表2 串口常用函数代码
| 命令/代码 | 说明 |
|---|---|
| import serial | 导入pyserial模块。 |
| ser=serial.Serial("/dev/ttyUSB0",115200) | 使用USB连接串行口,打开串行口,设置波特率。 |
| ser=serial.Serial("/dev/ttyAMA0",115200) | 使用开发者套件GPIO口连接串行口,打开串行口,设置波特率。 |
| ser=serial.Serial("com3",115200) | Windows系统使用com3口连接串行口,打开串行口,设置波特率。 |
| ser.readline() | 读一行数据,以“/n”结束。 |
| ser.read(n) | 读n个字符。 |
| data = “Hello!” ser.write(data.encode()) | 写入二进制编码的字符串数据。 |
父主题: 使用串口与I2C-tools工具
在线提单