切换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设备使能
通过下面指令使能某项GPIO设备:
sudo set-device enable xx
例:使能 uart4
sudo set-device enable uart4
使能后需要重启开发板生效:
sudo reboot
执行上面命令后使用set-device status
命令可以看到uart4设备已被使能。
运行命令gpio pins
后,也可看到核桃派1b的对应引脚被切换为对应工作模式
GPIO设备禁用
通过下面指令禁用某项GPIO设备:
sudo set-device disable xx
使能后需要重启开发板生效:
sudo reboot