raspi 和 nodejs 上的 gpio 与 rpi-gpio
gpio on raspi and nodejs with rpi-gpio
我是 运行 raspi Model B Rev 2 512MB,我安装了模块并成功打开了一个用于写入的引脚。成功使 LED 闪烁。
然后我尝试打开一个端口进行读取,但出现错误
{ Error: EIO: i/o error, write errno: -5, code: 'EIO', syscall: 'write' }
这是代码的相关部分。
var gpio = require('rpi-gpio');
server.listen(8080, function() {
console.log('Servidor corriendo en http://localhost:8080');
gpio.setup(7, gpio.DIR_OUT, control);
gpio.setup(22, gpio.DIR_IN, gpio.EDGE_BOTH, control);
});
function control(err)
{
if(err)
console.log("Control function: " + err);
else
console.log('ok');
}
这是我使用 gpio readall 看到的引出线,我想从 GPIO6 读取,因此我调用 22(物理端口)我也尝试了 25(BCM 端口),结果相同。
有什么线索吗??
PIN 6 接地,不能使用。您可以使用 PIN 5 进行输入。 (PIN 不是 GPIO)
供参考的引脚图:
问题是语法略有不同,如果为边缘添加第三个参数则无法添加回调,更改为:
gpio.setup(22, gpio.DIR_IN, gpio.EDGE_BOTH, control);
到这个
gpio.setup(22, gpio.DIR_IN, gpio.EDGE_BOTH);
解决了问题
我是 运行 raspi Model B Rev 2 512MB,我安装了模块并成功打开了一个用于写入的引脚。成功使 LED 闪烁。 然后我尝试打开一个端口进行读取,但出现错误
{ Error: EIO: i/o error, write errno: -5, code: 'EIO', syscall: 'write' }
这是代码的相关部分。
var gpio = require('rpi-gpio');
server.listen(8080, function() {
console.log('Servidor corriendo en http://localhost:8080');
gpio.setup(7, gpio.DIR_OUT, control);
gpio.setup(22, gpio.DIR_IN, gpio.EDGE_BOTH, control);
});
function control(err)
{
if(err)
console.log("Control function: " + err);
else
console.log('ok');
}
这是我使用 gpio readall 看到的引出线,我想从 GPIO6 读取,因此我调用 22(物理端口)我也尝试了 25(BCM 端口),结果相同。
有什么线索吗??
PIN 6 接地,不能使用。您可以使用 PIN 5 进行输入。 (PIN 不是 GPIO)
供参考的引脚图:
问题是语法略有不同,如果为边缘添加第三个参数则无法添加回调,更改为:
gpio.setup(22, gpio.DIR_IN, gpio.EDGE_BOTH, control);
到这个
gpio.setup(22, gpio.DIR_IN, gpio.EDGE_BOTH);
解决了问题