Arduinoと割り込み:ピン値を取得する高速な方法
私はArduino Unoを使用しており、私が見つけた説明1に従って、デジタルピン2、3、4、および5の割り込みで動作するようにすでに設定しています。 void setup() 割り込みを設定する次のコードが含まれています。 //Endable Interrupts for PCIE2 Arduino Pins (D0-7) PCICR |= (1<<PCIE2); //Setup pins 2,3,4,5 PCMSK2 |= (1<<PCINT18); PCMSK2 |= (1<<PCINT19); PCMSK2 |= (1<<PCINT20); PCMSK2 |= (1<<PCINT21); //Trigger Interrupt on rising edge MCUCR = (1<<ISC01) | (1<<ISC01); そして今、ISR(PCINT2_vect)関数はすべての割り込みでトリガーされます。それは魅力のように機能します。私の質問は、どのピンがトリガーされたかを知るための最良/最速の方法は何ですか? 私はで何かを発見した日時:ピン2、3にISR(PCINT2_vect)またはattachInterruptを使用することをお勧めしますか?、しかし私はコードを理解しておらず、そのままでは機能しません。しかし、それは印象的に見えます... 解決策は何ですか? [2] http://arduino.cc/forum/index.php/topic,72496.15.html#lastPost 編集: 現時点では、入力ピンレジスタからピンの状態を読み取っています。 if (PIND & …