重複の可能性:
メンバー関数ポインターをどのように渡しますか?
そのため、私が取り組んできたかなり大きなスケッチを縮小するために、Arduino 用のライブラリをいくつか作成しています。私のクラスのコンストラクターを除いて、これまでのところすべてが機能しています。これを使用して、変数、ピンモード、および割り込みを初期化します。割り込みをアタッチしようとすると問題が発生します。クラスで宣言および定義された関数があり、setup() ブロックの Arduino スケッチにアタッチするか、コンストラクターのライブラリでアタッチするかは、次のエラーが表示されます。
タイプ 'void (RotaryEncoders::)()' の引数が 'void (*)()' と一致しません
コードの基本構造は次のとおりです。
RotaryEncoders::RotaryEncoders() {
//Initialise some variables
//Set up some pin modes
attachInterrupt(2, doRedEncoder, CHANGE);
}
void RotaryEncoders::doRedEncoder() {
//Some code, blah blah blah
}
純粋に Arduino IDE 内でこれを行うと、ツールがメモリ内の関数に対して何かを実行して、正しく動作させると思います。解決策は簡単だと思いますが、わかりません:Sありがとう:D