在raspberry pi 3上,所有GPIO引脚都以“输入”的方向供电。每个引脚都有一个拉起电阻和一个与其相关的拉下电阻。这些电阻器的状态是通过功率损耗或复位来保持的。(这就是为什么无法读取这些电阻器的状态的原因,因为它们在复位后可能不知道。)
我写了一个程序,强制所有的拉电阻禁用,这样没有什么是拉高或低线,然后重新启动。/sys/class/gpio/*/方向和值都表示成功。
复位后,所有引脚都在输入方向出现,并且没有启用拉电阻,但下列情况除外:
我以前已经使用raspi-config来禁用串行控制台日志记录和串行uart。因此,我认为在引导过程中不应该改变控制GPIO14和GPIO15的外围寄存器。
在引导过程中,什么是重新配置GPIO15(RXD0)和GPIO14(TXD0)引脚,以使其上/下电阻启用,以及如何阻止它?
发布于 2017-07-29 21:40:34
我发现了一件事:
在broadcom芯片组上的上/下电阻配置是非易失性的.(这就是为什么您无论如何都不能查询它们的状态;因为芯片在启动时不知道它们是什么,也不能自己查询它们。CPU只能设置它们。)
所以,如果你关闭所有的拉/下电阻,在输出/高z配置的所有引脚的拉斯宾分配靴,除了GPIO2和3,因为这是I2C引脚与物理拉起电阻焊接在板上。Tx引脚读起来也很高,但我认为这是因为在内核中初始化了蓝牙系统,我不知道如何禁用它。
因此,如果您将所有引脚设置为输入/hi-z并禁用向上/向下拉,则在重新启动后,它将以这种方式出现(除非您已经启用内核中的某些内容,或者在启动后对其进行了其他更改)。
https://stackoverflow.com/questions/45061820
复制相似问题