0

私は、Arduino TimerOne ライブラリの最新版を使用しています。

TimerOne.attachinterrupt(xxx) 関数を使用しない場合、ピン 10 は、指定されたパラメーターごとに適切な PWM 信号を生成します。

TimerOne.Attachinterrupt(isr,frequency) または単に ...(isr) を呼び出すと、呼び出しは「返されません」。つまり、ピン 10 の信号が開始されず、ループに入りません。アタッチを呼び出す前に LED をオンにしてから、次の行でオフにしますが、LED がオフになることはありません。

ISR は、グローバルな揮発性変数のみをデクリメントします

AttachISR が何かを壊しているようです...コードのセットアップは次のとおりです。

pinMode(LED,OUTPUT);
digitalWrite(LED,HIGH);
MyTime.attachInterrupt(ISRFUNC,pwmFreq);
digitalWrite(LED,LOW);
MyTime.initialize(pwmFreq);
MyTime.pwm(pwmPin,pwmDC,pwmFreq);
MyTime.start();
4

0 に答える 0