我想为Galileo使用node.js mraa库。 我需要设置一个中断。 我通过以下方式实现这一目标:
var param=1;
var myLed = new mraa.Gpio(2);
myLed.dir(mraa.DIR_IN); //set the gpio direction to input
myLed.isr(mraa.EDGE_BOTH,function f(x){},param );
我收到此错误
in method 'Gpio_isr', argument 3 of type 'void (*)(void *)'
此功能的文档说明
mraa_result_t isr ( Edge mode,
void(*)(void *) fptr,
void * args
)
Sets a callback to be called when pin value changes
Parameters
mode The edge mode to set
fptr Function pointer to function to be called when interupt is triggered
args Arguments passed to the interrupt handler (fptr)
Returns
Result of operation
我不知道如何设置功能的参数......
答案 0 :(得分:0)
有一个未解决的问题。目前的反应是isr方法目前无法正常工作。
答案 1 :(得分:0)
正如问题所指出的那样,你现在可以做到:
var m = require('mraa')
function h() {
console.log("HELLO!!!!")
}
x = new m.Gpio(14)
x.isr(m.EDGE_BOTH, h)
您需要在主分支机构的v0.5.4-134-gd6891e8或更高版本上。你可以使用npm来获得你板上安装的正确版本,或者只是编译表单源(你需要SWIG 3.x)
npm install mraa