我成功地使用了这个伟大的 Arduino 频率库:Arduino 频率计数器。
但是我的 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;
}
}