通电后,GPIO的状态是什么?例如,高,低,Hi-Z?

在加载时,是否还有任何操作系统会更改任何GPIO的状态?希望不会。

评论

除非在数据表中,否则您可能必须对其进行测量才能确定。 Linux并不“了解” GPIO,因此在启动过程中不会更改它们(除非您创建了一个启动脚本),但是ROM总是有可能。
@Malvineous,您不正确。 Linux确实了解GPIO,并且支持已内置在内核中。这是一些文档:kernel.org/doc/Documentation/gpio.txt

@DustyWilson:对不起,如果我不清楚,我的意思是核心Linux内核在启动过程中没有使用GPIO。它仅使它们可用于用户空间和特定驱动程序。因此,在启动过程中,常规内核不应更改GPIO引脚的状态。

@Malvineous:啊,知道了。

未来的信息:raspberrypi.org/documentation/configuration/…

#1 楼

感谢russellstrong,在这里找到了答案。我在下面引用了相关部分


我已经得出有关上拉电阻/电路对下拉电阻的灵敏度
的结论。第一次启动时,RPi没有将GPIO设置为输出。它打开下拉电阻740毫秒。在别针上。这是痕迹。蓝线
是3v3电源,黄线是GPIO线。




评论


你能稍微澄清一下吗?当Raspberry Pi启动时,GPIO设置为高阻抗输入状态吗?

–亚历山大·张伯伦
2012年7月18日在10:26

@AlexChamberlain,似乎Broadcom芯片以下拉菜单启动,但是加载程序清除了下拉菜单,因此它们将具有高阻抗(输入)

– John La Rooy
2012年7月18日在10:29

#2 楼

当开始使用推荐的Debian发行版作为RPi时,GPIO被禁用。您必须分别启用每个引脚。

如果通过/ sys进行操作,则会发现“ Sysfs中的路径”很有趣(在http://www.kernel.org/doc/Documentation中进行搜索/gpio.txt)。特别是,您将通过“导出”来启用图钉。以下任何命令均假定您正在以root特权(sudo或其他方式)运行,或者您已更改了要修改的虚拟文件的权限/所有权。

4号引脚,然后导致/ sys / class / gpio / gpio4存在,其中包含多个虚拟文件。这些文件包括“方向”(定义是输入引脚还是输出引脚),“值”(对于输入是只读的,对于输出是可写的,并且包含当前值),以及其他文件。

当然,您可能更喜欢使用一些预先存在的库来完成与所选语言一起提供或与其兼容的GPIO。但是,如果您想简单一些,则可以直接与sysfs接口以执行非常基本的GPIO。

评论


这是有帮助的。我查看了数据表,但找不到引脚的默认状态。如果您要通过引脚控制事物,并且不想在os加载时打开外围设备,那么这非常重要。

– John La Rooy
2012年7月18日在2:15

这是一个很好的答案,但是我不确定它是否真的可以回答这个问题。启用后,GPIO立即处于什么状态?和方向设定?

–亚历山大·张伯伦
2012年7月18日在6:33



@gnibbler:我相信您只需要测试一下。我前几天自己尝试过,关于弹奏或弹奏的东西,我没有发现任何意外。我不知道或保证我的经历是预期的。我想说的是,您应该将万用表或类似的引脚扔到要测试的引脚上,然后重新启动或重新启动Pi多次以进行测试。我看到的是所有引脚都关闭了,好像Pi没电了,直到我自己启用每个引脚为止。

–艾玛莉·威尔逊(Emmaly Wilson)
2012年7月18日在7:30

@DustyWilson,也许它们被设置为输入,而没有上拉或下拉。这意味着,如果将它们连接到FET,它们将有效地浮空;如果未在栅极上添加上拉/下拉电阻器,则会导致随机行为

– John La Rooy
2012年7月18日在7:36

确实... cat / sys / class / gpio / gpio4 / direction说“在”。我在数据表中看到,无法读取上拉/下拉状态。我会尝试去衡量

– John La Rooy
2012年7月18日在7:39