将参数传递给回调函数

Pass argument to callback function

我正在使用 this library,你可以看到 setCallback 是这样的原型 void Adafruit_ZeroTimer::setCallback(boolean enable, tc_callback cb_type,void (*callback_func)(void)){

我想知道是否可以将参数传递给回调函数?

我是否应该更改库以通过类似的方式完成此操作 void (*callback_func)(int n) 并在我的草图中创建 void my_function_callback(int n){...} 以及何时创建计时器 my_timer.zerotimer.setCallback(true, TC_CALLBACK_CC_CHANNEL0, my_function_callback(10))

将参数添加到参数的回调函数类型中,例如 void (*callback_func)(int n) 是正确的方法。

在参数中调用函数而不是像 my_timer.zerotimer.setCallback(true, TC_CALLBACK_CC_CHANNEL0, my_function_callback(10)) 那样传递函数是错误的方法。您应该简单地传递函数而不调用它 my_timer.zerotimer.setCallback(true, TC_CALLBACK_CC_CHANNEL0, my_function_callback).