PIC32 delay gesucht

Persönliche Seite #2710512
Lesenswert?

Hallo,

ich nutze den Core Timer dafür. Die 80000000 ist der eingestellte Takt, 
je nach eigener Konfiguration anpassen.


void Delayms(unsigned int t)
{
    unsigned int tWait, tStart;

    tWait=(80000000/2000)*t;
    tStart=ReadCoreTimer();
    while((ReadCoreTimer()-tStart)<tWait);        // wait for the time 
to pass

}

void Delayus( unsigned int t)
{
  // note that 1 core tick = 2 SYS cycles (this is fixed)
  int us_ticks=(80000000/1000000)/2;
  WriteCoreTimer( 0 );
  while( ReadCoreTimer() < t*us_ticks );
} // END delay_us()


Gruß Sascha
#2710840
Lesenswert?

>Zwei von Drei schrieb:
>> Systemticks zaehlen
>
>Wie machst Du das das nicht doch nur ein simples Warten wird
>oder nennst Du das dann einfach nur anders :D

Naja. Im Main wird gezaehlt. Und jeweils alles andere auch noch 
aufgerufen. Alternativ koennte man in den Sleep.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren