跳到主要内容

切换GPIO功能

有些引脚上带有I2C, UART, SPI等功能,需要使用set-device指令来将设置启用,然后才能使用Python或C对其进行嵌入式编程应用。

set-device的工作原理是基于linux提供的device tree overlay功能,我们已经把 “将xx引脚配置为spi并启用对应驱动” 之类的信息写成配置文件(.dtb)中。这条指令会控制系统在开机时加载哪些配置文件(.dtb)。

注意,有些驱动是互斥的。比如启用3.5寸屏时会占用spi1,就不能同时使用spidev1.0驱动。如果将核桃派1b的38/40引脚配置为串口4,那这两个引脚就不能使用硬件pwm功能。

比如PI13引脚可以被设置为pwm3或是uart4_txd,但如果你将其设置为了uart4_txd

查看GPIO设备状态

可通过下面指令查看当前所有GPIO设备状态:

set-device status
  • 状态为off,则该项不生效
  • 状态为enable,则会设置对应引脚,并使能对应驱动。

gpio_config1

GPIO设备使能

通过下面指令使能某项GPIO设备:

sudo set-device enable xx

例:使能 uart4

sudo set-device enable uart4

使能后需要重启开发板生效:

sudo reboot

执行上面命令后使用set-device status命令可以看到uart4设备已被使能。

gpio_config2

运行命令gpio pins后,也可看到核桃派1b的对应引脚被切换为对应工作模式

gpio_pins_uart4

GPIO设备禁用

通过下面指令禁用某项GPIO设备:

sudo set-device disable xx

使能后需要重启开发板生效:

sudo reboot