wwwusr 发表于 2015-12-17 15:33:29

MStimer2 定时器库 如何使用 带返回值的函数?

最近在用Arduino做低功耗,想用定时器库 MStimer2,但目前这个库只能对void XX()函数起作用,不可以用intXX()的带返回值的函数,请教一下各位大神,怎么解?
例子可以通过,但将void flash()改成 int flash()就不行了,提示:
FlashLed1.ino: In function 'void setup()':
FlashLed1:17: error: invalid conversion from 'int (*)()' to 'void (*)()'
FlashLed1:17: error: initializing argument 2 of 'void MsTimer2::set(long unsigned int, void (*)())'


程序如下:
#include <MsTimer2.h>

// Switch on LED on pin 13 each second


int flash() {
static boolean output = HIGH;
int i=3;
digitalWrite(13, output);
output = !output;
return i;
}

void setup() {
pinMode(13, OUTPUT);

MsTimer2::set(500, flash); // 500ms period
MsTimer2::start();
}

void loop() {
}

wwwusr 发表于 2015-12-21 18:34:22

看来这个有点跑偏啊,顶一下。:P
页: [1]
查看完整版本: MStimer2 定时器库 如何使用 带返回值的函数?