Node.js函数不适用于isr-galileo板



我想为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

我不知道如何设置函数的参数。。。

这是一个悬而未决的问题。当前的响应是isr方法当前不工作。

链接:https://github.com/intel-iot-devkit/mraa/issues/110

正如问题中所指出的,您现在可以执行:

var m = require('mraa')
function h() {
  console.log("HELLO!!!!")
}
x = new m.Gpio(14)
x.isr(m.EDGE_BOTH, h)

您需要使用master分支的v0.5.4-134-gd6891e8或更高版本。你可以使用npm在你的板上安装正确的版本,或者只编译表单源(你需要SWIG3.x)

npm安装mraa

相关内容

  • 没有找到相关文章

最新更新