Gast
#1757296
Hallo liebe Gemeinde, ich heiße Marco und programmiere erst seit kurzem Microcontroller. Mein größtes Projekt war bisher die Steuerung eines Stoßstromgenerators für meine Diplomarbeit zu programmieren. Damals bin ich gänzlich ohne Interrupts ausgekommen. Mein aktuelles Projekt mit dem ATmega8 soll mal zur Ansteuerung von Servos genutzt werden. Da ich mich aber mom erst "reinfuchse" wollte ich zunächst was kleines probieren. Ich habe im Inet geforscht auf der Seite http://members.shaw.ca/climber/avrinterrupts.html ein Prgrammierbeispiel gefunden. Hab dies mithilfe von AVR Studio 4.17 und meinem STK gleich ausprobieren wollen. (Hab es zusätzlich etwas hübscher gemacht und die Interruptbezeichung etc angepasst). Nun das Problem: Da es in Real-life nicht funktioniert hat - habe ich es mir im Debugger etwas genauer angeschaut.. : Der Timer beginnt zu laufen und der Counter brav zu zählen. Bei der Zahl 5 (wird später durch ne höhere ersetzt ;) ) wird auch brav der OSF1A gesetzt, der das Matching zwischen TCNT1 und OCR1A markiert. Jedoch wird im TIMSK der OCIE1A nicht gesetzt, wodurch ich annehme, dass deshalb alles net so funktioniert wie es sein sollte ;) Am PortD sollte eigentlich der PIN0 sich ein und ausschalten - was er nicht tut. Mein Vermutung -> das fehlende Flag im TIMSK wodurch meine ISR net aufgerufen wird - kann das sein? Um die ganze Sache verständlich zu machen, habe ich euch Bildschirmbilder angehängt. Vielen Dank schonmal für eure Hilfe! MfG Marco







