Nur ein Hinweis zu den Timer-Deklarationen in Bascom:
Ich bin so oft an Compiler-Fehlern hängengeblieben, dass ich die Timer immer nach Atmel-Datenblatt deklariere. Außerdem finde ich die Einstellungen Register transparenter.
Ein Beispiel für einen Attiny25:
Ich werfe auch immer einen Blick in die *.DAT (hier ATtiny25.DAT) um zu checken, ob Bascom überhaupt die Registernamen richtig schreibt...Code:$regfile = "ATtiny25.DAT" 'Controllertyp $crystal = 8000000 'crystal frequency '*** Timer 0 CTC (read signal from TSOP173x) ******************* Tccr0a = &B0000_0010 'OC0A/OC0B disconnected, CTC Tccr0b = &B0000_0010 'Prescale=8 @8MHz Ocr0a = 52 '8Mhz/(8*(52+1))=18867Hz On Oc0a _isr_t0ovf Nosave 'Interrupt NOSAVE_ISR! Enable Oc0a Enable Interrupts
Eine Ausnahme ist der weit verbreitete Atmega8. Den kann Bascom recht gut. Aber auch beim Atmega8 habe ich schon Bascom-Fehler bei ungewöhnlichen Timerkonfigurationen gefunden.







Zitieren

Lesezeichen