Skip to main content

设置GPIO管脚值

设置GPIO管脚值

命令功能

gpio_operate set_value gpio_group**gpio_pin value用于设置GPIO管脚值。

参数说明

类型描述
gpio_groupGPIO组号,取值为[0,8]
gpio_pinGPIO管脚号,取值为[0,31]
valueGPIO管脚值,取值为[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_groupGPIO组号,取值为[0,8]
gpio_pinGPIO管脚号,取值为[0,31]

使用实例

查询第0组第2个管脚的GPIO方向。

gpio_operate get_direction 0 2
Get gpio pin direction value successed, value is 0.

表1 打印信息说明

字段说明
directionGPIO管脚方向,取值为[0,1]
- 0:输入方向
- 1:输出方向

父主题: 使用示例

设置GPIO管脚方向

命令功能

gpio_operate set_direction gpio_group**gpio_pin direction用于设置GPIO管脚方向。

参数说明

类型描述
gpio_groupGPIO组号,取值为[0,8]
gpio_pinGPIO管脚号,取值为[0,31]
directionGPIO管脚方向,取值为[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工具

在线提单