私はarduinoの初心者です。私は副鼻腔波発生器を作ろうとしています。私は最近、すべてをメインのvoidループに入れることができないことがわかったので、割り込みを使用しようとしています。私は割り込み(遅延)内の変数を変更することに問題がある、私は間違いがどこにあるのか分からない。arduino割り込み変数が動作しない
int sine256[] = { //256 sin values from 0 to 2pi
};
int i = 0;
int sensorPin = 7;
int outputPin = 6;
volatile float Delay = 10000;
void setup()
{
Serial.begin(9600);
pinMode(outputPin, OUTPUT);
pinMode(sensorPin, INPUT);
attachInterrupt(digitalPinToInterrupt(sensorPin), freq, RISING);
}
void loop()
{
analogWrite(6,sine256[i]);
i = i + 1;
if(i == 256){
i = 0;
}
Serial.println(Delay);
delayMicroseconds(Delay);
}
void freq() {
Delay = Delay/2;
}
'void setup'では、' pinMode(sensorPin、INPUT);を変更します。 'to' 'pinMode(sensorPin、INPUT_PULLUP);'。平均 'INPUT'は' RISING/FALLING'エッジを含まない。 @yuuhanC – dsgdfg