Frequenzmessung mit (Absdelay) ungenau?

Gast #1922293
Lesenswert?
• ▲
▼
hi,
ich habe zur Frequenzmessung das Bespielprogram bei c-control verwendet.
Damit misst er auch im KHZ Bereich relativ genau.
Sobald ich aber meine vereinfachte Version anwende wieso funktioniert 
meine Version nicht?
Wie funktioniert den die Version von C-control in groben Zügen?

Gruß
Alex


word ct1;                                      // globale 
Variabledeklaration
word FRQ_Mode, FRQ_Wert;                        // globale 
Variabledeklaration
word FRQ_Wertr;

void main (void)
{
LCD_Init( );

   label:

    FRQ_Mode=1;                             // keine Frequenzmessung 
durchführen
    Irq_SetVect(INT_TIM2COMP,FRQ_Messung);  // Interrupt Service Routine 
definieren
    FRQ_Mode=0;                             // Messung starten
    ct1=0;
    while (FRQ_Mode==0);                    // warten bis Messung 
beendet

     LCD_CursorPos (0x00);                       //Cursor Position 
1.Zeile
     LCD_WriteWord (FRQ_Wert,0x05);
     LCD_CursorOff();

     goto label;

}

void FRQ_Messung(void)
{

    int i;                               // Variabledeklaration

    if (FRQ_Mode==0)
    {
        if (ct1==0)
        {
         Timer_T1CNT();
        }
        if (ct1>=100)
        {
            FRQ_Wert=Timer_T1GetCNT();          // Messwert übergeben
            FRQ_Mode=1;                         // Messung beendet
        }
    }
    ct1++;                                     // Zähler um eins erhöhen
    Irq_GetCount(INT_TIM2COMP);             // Interrupt Request Counter
}

Meine Version:

{
LCD_Init( );

label:

Timer_T1CNT ();
AbsDelay(2000);
FRQ_Wert = Timer_T1GetCNT( );
FRQ_Wertr = FRQ_Wert /2;
LCD_Locate(1,1 );
LCD_WriteWord(FRQ_Wertr,0x05 );

goto label ;
}

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.