Arduino频率计数器问题
我正在成功地使用这个伟大的Arduino频率库: 但是我的LED有一个问题。如果我给它们的值为“高”或“255”,则它们正在工作。但是,它们并没有使用较低的值。我在另一个草图中测试了LED。因此,它们接线正确,工作正常,Arduino也是如此。“FreqCounter::start(100);”行似乎有问题。如果我删除它,较低的值是工作的,但当然频率计数器不是 我如何解决这个问题 代码如下:Arduino频率计数器问题,arduino,counter,frequency,led,Arduino,Counter,Frequency,Led,我正在成功地使用这个伟大的Arduino频率库: 但是我的LED有一个问题。如果我给它们的值为“高”或“255”,则它们正在工作。但是,它们并没有使用较低的值。我在另一个草图中测试了LED。因此,它们接线正确,工作正常,Arduino也是如此。“FreqCounter::start(100);”行似乎有问题。如果我删除它,较低的值是工作的,但当然频率计数器不是 我如何解决这个问题 代码如下: #include <FreqCounter.h> unsigned long frq;
#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;
}
}
#包括
无符号长frq;
/***输出发光二极管***/
绿色=9;
黄色=10;
int-ledRed=11;
无效设置(){
引脚模式(LED绿色,输出);
引脚模式(LED黄色,输出);
引脚模式(LED红色,输出);
序列号开始(115200);
Serial.println(“频率计数器”);
}
void循环(){
/***写***/
模拟写入(莱德格林,255);
模拟写入(LED黄色,100);
模拟写入(ledRed,10);
/***频率计数器***/
频率计数器::f_comp=10;//校准值/使用专业频率计数器校准
FreqCounter::开始(100);//100毫秒选通时间
while(FreqCounter::f_ready==0){
frq=频率计数器::f_freq;
}
}
根据文档,该库重新利用计时器1计算频率。然而,引脚9和10的PWM需要默认设置的定时器1。我收到一个提示。。。问题是我使用的库在选通时间内禁用了硬件计时器。因此,在此期间,PWM出现故障!是的,没错。。。我收到了一张没有使用计时器的草图。它使用了中断。威胁如下: