我正在使用Arduino TimerOne库的最新版本。
如果我不使用TimerOne.attachinterrupt(xxx)功能,引脚10会根据提供的参数生成正确的PWM信号。
当我调用TimerOne.Attachinterrupt(isr,frequency)或只是......(isr)时,调用永远不会“返回” - 即Pin 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();