Autor Thema: Zeitmessung  (Gelesen 37 mal)

Offline Sascha_Focus

  • Jr. Member
  • **
  • Beiträge: 77
    • Profil anzeigen
Zeitmessung
« am: April 18, 2017, 13:20:12 Nachmittag »
Hallo,

erstmal zur Theorie:

Genutzter PIC: PIC18F47K40
                        HFINTOSC 64MHz, PIC Takt 16MHz

Um die Aufrufzeit dt für eine Regelung zu erfassen, habe ich den Timer 0 mit dem Vorteiler 1:16 eingestellt. Überlauf des Timers alle 10 Millisekunden. Im Timer Interrupt
zähle ich eine Variable hoch. Demnach wäre die aktuelle Zeit: (Variable*10000)+ (65536-(TMR0H,TMR0L))


//Timer 0 Aufruf
void TMR0_ISR(void)
{
    // TMR0 interrupt flag löschen
    PIR0bits.TMR0IF = 0;
    // Timer Preload laden
    TMR0H = timer0ReloadVal16bit >> 8;
    TMR0L = (uint8_t) timer0ReloadVal16bit;

    milli10count++; //32Bit Variable
}

/Ausgabe der aktuellen Zeit
uint32_t Get_Time()
{
    uint32_t time=0xffff;
    time=time-TMR0_Read16bitTimer();
    time=time+(milli10count * 10000);
    return time;
}


//while Schleife der main, zur Efassung und Ausgabe der Zeit
    while (1)
    {
currentTime = Get_Time(); //Aktuelle Zeit holen
cycleTime = currentTime - previousTime; //Zykluszeit
previousTime = currentTime;
dt = (float)cycleTime/1000000;

           
    sprintf( text, "%f",dt);
    LCDGoto(0,2);
    LcdDec(cycleTime);
    LCDGoto(0,3);
    LCDPutStr(text); 
    __delay_ms(250);
    }

Nun scheint es bei der Ausgabe so, das die delay Funktion keinerlei Auswirkungen zu haben scheint. Ebenso so verstehe ich die ausgebene Zeit nicht.
Zeitlich liege ich bei 0.006s bis 0.026s. Ich hätte zumindest erwartet, das die Zeit gleich bleibt. Es sind keine weitere Interrupts vorhanden.

Hat jemand eine Idee oder kann mir meinen Denkfehler aufzeigen??

Gruß Sascha


 


* Recent Topics

topic Zeitmessung
[PIC Mikrocontroller Allgemein]
Sascha_Focus
April 18, 2017, 13:20:12 Nachmittag
topic PIC 16F723 und UART Problem
[PIC Mikrocontroller Allgemein]
Bernie6666
März 30, 2017, 19:29:41 Nachmittag
topic Drehencoder zum 1000. mal
[Programmiersprache Assembler]
LutzG
Februar 24, 2017, 20:46:42 Nachmittag
topic Tasterabfrage mit PIC 16F84
[Programmiersprache Assembler]
Darkside
Februar 11, 2017, 09:57:15 Vormittag
topic PIC12F629 Wake up von Sleep
[PIC Mikrocontroller Allgemein]
delucks
Dezember 17, 2016, 00:19:20 Vormittag