- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
"运算符访问 GPIO 引脚-6ren"> "运算符访问 GPIO 引脚-如网站所示:https://luketopia.net/2013/07/28/raspberry-pi-gpio-via-the-shell/ So if we want to be able to -6ren">
如网站所示:https://luketopia.net/2013/07/28/raspberry-pi-gpio-via-the-shell/
So if we want to be able to access pin 4, we would type echo 4 > /sys/class/gpio/export
和
To specify that we want to use the pin as an output, we can do echo out > /sys/class/gpio/gpio4/direction
我是 bash 菜鸟,我想通过终端访问 RPi 的 GPIO 引脚。我搜索了 Google 以找出“>”运算符的确切功能,但我发现的只是字符串比较(我认为返回 1 或 0)。这究竟是如何让我们到达针脚的?
最佳答案
在我看来这个问题有两个方面,
我将在下面分别回答:
>
>
就是所谓的“重定向运算符”。它获取进程或函数的输出,并将其从终端重定向到其他地方。 echo
命令将输出写入终端。在这种特定情况下,echo 4
的终端输出(即值 4
)传递给 /sys/class/gpio/export
.有关实际作用的更多详细信息,请参阅第 2 部分。
>
的另一种常见用法,这可能会给出一个更具体的例子,就是将输出重定向到一个文件中,例如:
$ echo "This text will go into a file." > "myfile.txt"
文件myfile.txt
将被创建,我们回显的行将被放入其中,所以它的内容将是“This text will go into a file.”。
不只是echo
或者,可以重定向任何命令的控制台输出,例如:
$ ls -la > "directoryListing.txt"
上面会列出所有文件的目录,并将结果输出到文本文件“directoryListing.txt”,而不是控制台。
有关 Linux 概念的更多详细信息,特别是像重定向这样有用的概念 >
和管道|
,我建议您尝试以下链接:
来自阅读 this RPi linux site 上的描述, 它看起来像 /sys/class/gpio/export
进入 GPIO 引脚的设备驱动程序并告诉它您希望使用提供的引脚(在本例中为引脚 4)。您通过从控制台重定向它来向该虚拟目录提供输入(见上文第 1 节)。
调用导出后,您已经告诉驱动程序您希望使用哪个引脚(或多个引脚),它会创建类似于虚拟文件系统的东西以允许控制。
这是 gpio4/direction
的位置部分进来了。那个gpio4
导出时创建文件夹 pin 4
多于。该目录中有许多(您可以认为是)虚拟文件,然后您可以使用这些文件设置引脚配置。 direction
一个告诉驱动程序该引脚是输入引脚(在这种情况下传递单词 in
)还是输出引脚(在这种情况下我们传递单词 out
)。
同样,我们使用控制台重定向运算符 >
进行设置我们可以像读取普通文件一样读取它,以获取分配的值,如下所示:
$ cat /sys/class/gpio/gpio4/direction
要将值读/写到引脚(即它是设置为打开还是关闭),只需遵循与 value
相同的想法。文件:
$ echo 1 > /sys/class/gpio/gpio4/value
将引脚 4 的值设置为 1
,这意味着。等价地,它可以通过做关闭
$ echo 0 > /sys/class/gpio/gpio4/value
最后,如果您已将引脚的方向指定为输入,请执行以下操作:
$ echo in > /sys/class/gpio/gpio4/direction
您可以这样读取该值:
$ cat /sys/class/gpio/gpio4/value
如果你想把它存储在一个变量中,你可以这样做:
$ myPinValue=$(cat /sys/class/gpio/gpio4/value)
请注意这些示例未经测试,我的 Linux-fu 有点生疏,因为我现在很遗憾在 Windows 世界中工作。
关于bash - RPi - 使用 ">"运算符访问 GPIO 引脚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40014997/
我是一名优秀的程序员,十分优秀!