mach das doch mal mitm config timer2 und enable interrupts
Moin Moin,
ich probiere grade eine LED ihm 1Hz Takt blinken zu lassen. Der interne Ozillator meines Mega 8 ist aktiviert, an Pin 9 und 10 hängt ein 32767Hz Quarz ohne zusätzliche Kapazitäten.
Das folgende Programm funktioniert nur, wenn ich das "Assr.as2 = 1" auskommentiere - dann natürlich nicht mit 1Hz.
Hier der Code:
Kann der Quarz kaputt sein oder habe ich ein Fehler im Programm?Code:$regfile = "m8def.dat" $crystal = 1000000 On Timer2 Takt Ddrb = &B11111111 Portb = &B00000000 Assr.as2 = 1 'asynchroner Betrieb Tccr2 = &B00000100 'Takt: 32768Hz/64=512Hz Timsk.toie2 = 1 'Timer2 Overflow-Interrupt einschalten Sreg.7 = 1 'Interrupts freischalten Waitms 1000 Do Loop Takt: Portb.4 = Not Portb.4 Return End
Mfg Baumschubser
mach das doch mal mitm config timer2 und enable interrupts
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Der Timer funktioniert jetzt so wie ich es mir vorstelle - genau 1Hz.
Wie kann ich einen Timer softwareseitig eigentlich anhalten?
Der Timer soll z.B. ausgeschaltet werden, wenn ich einen Taster drücke und bei einem weiteren Tastendruck wieder aktiviert werden.
Mfg Baumschubser
stop timer2 und danach zum starten wieder start timer2, aber mach nicht den fehler, den nicht wieder zurückzusetzen
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Lesezeichen