Hallo Wie realisiere ich bei Bascom eine Zeitbasis von z.B. 1 Sekunde Gruß Wolf4124
timer setzen und auf Interrupt "warten", in der Int. Routine den Tmr-Counter entsprechend erhöhen und schon kommt der nächste Int. genau eine Sek. später. Oder gleich mit Preload der Timer arbeiten, hängt halt davon ab welchen uP du verwendest. grüsse leo9
Genau hierzu habe ich eine eigenartige Erfahrung gemacht. Ich habe für dieses Problem den Timer1 vom ATMega8 genommen (11,05920MHz) In der ISR lade ich den Timer sofort mit Load timer1 , 10800 den Timer neu und das gibt einen schönen sekundentakt. ABER!!! Am Start des Programmes mache ich das gleiche (LOAD ...), leider dauert es bis zum ERSTEN Interrupt 6 sekunden (also ein kompletter Timer1 Überlauf), erst danach läuft der 1 Sekunden Takt Ersetze ich allerdings das " LOAD TIMER1, 10800 " durch " Tcnt1h = 214 Tcnt1l = 166 " (also 65536 - 10800) dann habe ich sofort den sekundentakt! Warum gibt es einen Unterschied zwischen dem LOAD Befehl vonm BASCOM und den direkten setzen der Register???
Habe natürlich was vergessen!! PRESCALE = 1024 damit das nachrechnen auch klappt :-)
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.