赞
踩
@(树莓派学习笔记)
在上一节中我们使用设备树覆盖开启了其余四个串口,但在实际使用中发现,Uart4无法接收。
在命令行输入gpio readall
查看IO口状况
此处为修改配置后的图,按照上一节配置此处GPIO9的模式应该是IN
或者可输入命令raspi-gpio get 9
查看GPIO9的状态
raspi-gpio的使用:https://github.com/RPi-Distro/raspi-gpio
查看BCM2711 ARM Peripherals文档(链接:https://datasheets.raspberrypi.com/bcm2711/bcm2711-peripherals.pdf),
或者查看RPi BCM2711 GPIOs文档(链接:https://elinux.org/RPi_BCM2711_GPIOs#GPIO9),
都不难发现GPIO9实现RXD4功能的模式是ALT4,故解决思路为改变GPIO9的模式
sudo nano /boot/config.txt
将这三行全部注释掉,重启即可。
此方法需要牺牲掉SPI和I2C,视情况而用
raspi-gpio set 9 a4
此方法的缺点是树莓派重启后引脚又会恢复默认状态。
想要树莓派每次开机后自动设置引脚状态,可在程序里添加命令行的使用
以Python为例:
import os
os.system('raspi-gpio set 9 a4')
查找树莓派官方文档发现,
GPIO引脚在启动时要经过7个步骤,我们先尝试设置dt-blob.bin
首先下载dt-blob.dts
文件到树莓派中,
下载链接:https://github.com/raspberrypi/firmware/blob/master/extra/dt-blob.dts
vim /root/dt-blob.dts
修改此文件,只保留*Pi4 Model B**部分(视设备而定)
然后按照文档中的格式添加默认引脚配置,
文档链接:https://www.raspberrypi.com/documentation/computers/configuration.html#changing-the-default-pin-configuration
突然发现,在function里只有uart0和uart1,并没有我们要修改的uart4,故此方法不通
我们接着尝试修改config.txt文件,
参考文档链接:https://www.raspberrypi.com/documentation/computers/config_txt.html#gpio-control
由于SPI和I2C的设置会覆盖此设置,故此方法也不可行
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。