Hier mein Programm, Problem in dem Kommentar: #include<avr/io.h> #define UEBERLAUF 0 int main() { DDRA=0xFF; //PORTA Ausgang PORTA = 0X00; TCNT1H = 0XC2; //Timer vorladen TCNT1L = 0XF7; //Timer vorladen TCCR1B = 0X05; //Prescaler 1024 while(1){ while(TCNT0==0xFF){ //warten ; //nichts } PORTA = ~PORTA; //setzen um zu löschen????? Wie setze ich den Timer zurück? TCNT1H = 0XC2; //Timer vorladen TCNT1L = 0XF7; //Timer vorladen } } Wie kann ich also den Timer löschen/Rücksetzen um dann wieder 1s zählen zu lassen? lg
Felli schrieb: > Wie kann ich also den Timer löschen/Rücksetzen um dann wieder 1s zählen > zu lassen? lg So macht man das nicht. Das kann der Timer alles ganz alleine. Guck dir den CTC-Mode an. > while(TCNT0==0xFF){ //warten > ; //nichts Und das versteh ich überhaupt nicht. mfg.
:
Bearbeitet durch User
Hi >Wie kann ich also den Timer löschen/Rücksetzen um dann wieder 1s zählen >zu lassen? lg Kann er ganz allein. Stichwort CTC. Datenblatt Timer->Modes of Operation-> CTC MfG Spess
Die Zauberformel ist "Clear Timer on Compare Match" :) Schau mal im Datenblatt. Und extrem wichtiglich: mach mal die x klein ;)
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.