所以我正在尝试编写一个程序来提供树莓派和加速计/陀螺仪之间的接口。我需要这个函数尽可能频繁地更新,并且我想设置一个计时器来确定它何时运行。
\n这是我的代码:
\nvoid updateGyro(Gyro gyro) {\n gyro.update();\n}\n\nint main() {\n if (gpioInitialise() < 0)\n return -1;\n\n // Creates new gyro object\n Gyro gyro;\n // Sets a timer to update every 10 milliseconds\n gpioSetTimerFuncEx(0, 10, updateGyro, &gyro);\n\n \n\n time_sleep(10);\n gpioTerminate();\n}\n
Run Code Online (Sandbox Code Playgroud)\n但这似乎不起作用,我收到错误:
\ngyro.cpp: In function \xe2\x80\x98int main()\xe2\x80\x99:\ngyro.cpp:113:31: error: invalid conversion from \xe2\x80\x98void (*)(Gyro)\xe2\x80\x99 to \xe2\x80\x98gpioTimerFuncEx_t\xe2\x80\x99 {aka \xe2\x80\x98void (*)(void*)\xe2\x80\x99} [-fpermissive]\n 113 | gpioSetTimerFuncEx(0, 10, updateGyro, &gyro);\n | ^~~~~~~~~~\n | |\n | void (*)(Gyro)\nIn file included from gyro.cpp:2:\n/usr/include/pigpio.h:3751:55: note: initializing argument …
Run Code Online (Sandbox Code Playgroud)