Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何向arduino发送firmata命令以打开pin_Arduino_Firmata - Fatal编程技术网

如何向arduino发送firmata命令以打开pin

如何向arduino发送firmata命令以打开pin,arduino,firmata,Arduino,Firmata,我正在尝试实现firmata协议,在破解数字管脚的规范时遇到了一些困难: 我注意到报告的以下部分: 及 我在解释规范时遇到了一些困难。我看过其他的实现,但是没有看到规范和实现之间的关系 假设我想打开Arduino LED(引脚13),我知道它将位于第二个端口,端口1,因此第一个字节将是{91} 不过,我对后两个字节的位掩码感到困惑。我知道什么是位掩码,所以我想为pin启用正确的位 为什么数字管脚的位掩码如此大?我熟悉在PLC的数字输出上使用位掩码,这似乎有很大的不同(一个引脚,一个位) 我认为

我正在尝试实现firmata协议,在破解数字管脚的规范时遇到了一些困难:

我注意到报告的以下部分:

我在解释规范时遇到了一些困难。我看过其他的实现,但是没有看到规范和实现之间的关系

假设我想打开Arduino LED(引脚13),我知道它将位于第二个端口,端口1,因此第一个字节将是
{91}

不过,我对后两个字节的位掩码感到困惑。我知道什么是位掩码,所以我想为pin启用正确的位

  • 为什么数字管脚的位掩码如此大?我熟悉在PLC的数字输出上使用位掩码,这似乎有很大的不同(一个引脚,一个位)

  • 我认为插脚13将是端口1上的第7个插脚。因为我不关心其他管脚,所以我会在第二个字节#{40}中标记管脚,并且我不需要为第三个字节#{00}设置任何管脚

我认为我对位掩码的解释不正确,这可能就是我的错误所在


我走对了吗?这是设置插脚高还是低的正确命令?

在使用firmata测试应用程序进行了一些
strace
调试后,我发现打开插脚13的简单命令是:

#{912000}
要关闭它,请执行以下操作:

#{910000}
#{912000}
#{910000}