Arduino频率计数器问题

时间:2013-10-17 09:26:28

标签: arduino counter frequency led

我成功使用了这个优秀的Arduino频率库:Arduino frequency counter

但我的LED存在一个问题。如果我给它们值“HIGH”或“255”,它们正在工作。但是,他们没有使用较低的价值。我在另一个草图中测试了LED。所以他们正确连接并且工作正常,也是Arduino。这似乎是“FreqCounter :: start(100);”的一个问题。线。如果我删除它,较低的值是有效的,但当然频率计数器不是......

如何解决此问题?

以下是代码:

#include <FreqCounter.h>

unsigned long frq;

/*** OUTPUT LED ***/
int ledGreen = 9;
int ledYellow = 10;
int ledRed = 11;

void setup() {
  pinMode(ledGreen, OUTPUT);
  pinMode(ledYellow, OUTPUT);
  pinMode(ledRed, OUTPUT);

  Serial.begin(115200);
  Serial.println("Frequency Counter");
}

void loop() {

  /*** WRITE ***/
  analogWrite(ledGreen, 255);
  analogWrite(ledYellow, 100);
  analogWrite(ledRed, 10);

  /*** FREQUENCY COUNTER ***/
  FreqCounter::f_comp = 10; // Calibration value / calibrate with a professional frequency counter
  FreqCounter::start(100);  // 100 ms gate time

  while (FreqCounter::f_ready == 0){
    frq = FreqCounter::f_freq;
  }
}

1 个答案:

答案 0 :(得分:0)

根据文档,该库重新调整TIMER1以计算频率。但是针脚9和10的PWM要求TIMER1具有默认设置。