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.
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.