Hi, gleiches Problem... ...nur mit dem IAR-Compiler. Aber ich denke auch hier gibt es keinen Befehl. Hat jemand einen Democode in C? Würde mir sehr weiter helfen! Bzw. ist es der "State of the art" wenn man es mit einen Timer Interrupt löst und eine Globale Variable hochzählt? Siehe folgenden Pseudocode: P.S. Danke für jeden Hinweis! Timo //--- Codeanfang: unsigned int iCounter Main { SetBit(SREG,7); // Generelle Interruptfreigabe SetBit(TIMSK,1); // Interrupt Timer0 freigegeben SetBit(PORTB,5); // PortB = High Wait(500); ClearBit(PORTB,5); // PortB = Low } void Wait(unsinged int iValue) { TCNT0=0; // Startwert TCCR0=1; // Vorteiler (Timer starten) iCounter=iValue; while(iCounter){}; TCCR0=0; // Timer stoppen } __interrupt void TIMER0_OVERFLOW(void) { iCounter--; } //--- Codeende
sieht gut aus IMHO, ich mache es jedenfalls auch so und mir ist noch kein "eleganterer" Weg eingefallen [wozu auch, funktioniert ja und in ASM sind das auch nur ein paar Instructions] Lars.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.