Hallo an Alle!
Bin noch relativ neu beim Programmieren von Mikrocontrollern und vor
allem fachfremd (--> Maschinenbau). Momentan komme ich bei meinen
Versuchen die AD-Wandlung ans Laufen zu bringen einfach nicht weiter.
Vielleicht hat hier jemand einen Rat.
Kurz zum Programmablauf (siehe Anhang)
Das Programm initialisiert den DCO und die einzelnen CLKs und lässt eine
LED blinken. Bei Schaltung von P2.1 wird ein Interrupt ausgelöst und der
ADC12 initialisiert. Im Repeat-single-channel mode werden dann
einhundert Werte gelesen und im RAM zwischengespeichert
(interrupt-gesteuert). Am Ende werden die Werte in den Flash geladen.
Die einzelnen Programmteile (Hauptprogramm, Subroutinen, Flash
beschreiben, ...) funktionieren alle soweit. Allerdings bleibt das
Programm bei Auslösung des Interrupts über P2.1 in der Subroutine
hängen. Ich vermute, dass keine Konvertierung beginnt oder abgeschlossen
wird, denn wenn ich die AD-Wandlung ausklammere und feste Werte auf den
Flash schreiben lasse geht alles wunderbar. Auch wenn ich im Debugger
manuell einen Interrupt auslöse wird alles so abgearbeitet wie
vorgesehen. Ich habe auch versucht, das Bit im Interrupt Flag Register
zu testen und darüber das Schreiben in den RAM zu steuern, anstatt einen
neuen Interrupt auszulösen, aber der gleiche Effekt. Außerdem hat ja der
ADC12 eine höhere Priorität, oder?
Hoffe jemand hier hat mehr Durchblick als ich.
Viele Grüße