2013-10-17 51 views
0

我正在成功使用這個偉大的Arduino頻率庫:Arduino frequency counterArduino頻率計數器問題

但是我的LED有一個問題。他們正在工作,如果我給他們的價值「高」或「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

我收到了提示......問題在於我使用的庫在關閉時間期間禁用了硬件計時器。所以在這段時間,PWMS失靈了! –

回答

0

根據該庫repurposes TIMER1計數頻率的文檔。然而,引腳9和10的PWM要求使用默認設置的TIMER1。

+0

是的,這是正確的...我收到一個草圖,其中沒有使用計時器。它使用一箇中斷。繼承人的威脅:[頻率計數器素描](http://forum.arduino.cc//index.php?topic=64219.30) –