Gast
#3399108
Hallo, im Rahmen meines Aktuellem Projektes (Brushless-Motor Ansteuerung)möchte ich dem Multiplexed AnalogComparator mit PC0-PC2 des Atmega8 verwenden. Schilderung des Aufbaus: am Referenz Pin PD6 (AIN0)lege ich eine Spannung von 3V an Das Programm soll solange in einer while schleife warten, bis am am Negativen Eingang sich die Spannung von unter 3V auf über 3V ändert(oder andersherum), dann soll das selbe auf einem der andern Eingänge(PC0-PC2) passieren. Damit ich sehen kann was passiert und es die einfachste Möglichkeit ist lasse ich jedes mal 2 LEDs blinken, sobald der Interrupt auslöst. Mein Problem: ich lege am PC0 3,5V an, der Interupt löst aus, dass Programm verlässt die while schleife, die LEDs Blinken. nun wird der Multiplexer wird auf PC1 gestellt. obwohl ich PC1-2 auf GND Gehängt habe, löst nun auch der Interupt aus und das selbe am PC2. Teil des Codes
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
Die Variable interupt_comperrator wird während des Interupts auf 1 gestellt volatile int interupt_comperrator = 0 Ich verwende immer wieder den Gleichen Codeteil bloß das ich die MUXe ändre zur Port Konfiguration. Es scheint so als würde im Prozessor irgendwas nicht zurück gestellt werden, sodass die interuptts immer wieder ausgelöst werden. Ich kann Elektrische Fehler (fast)ausschließen weil ich die “Tests“ auf einem Entwicklungsbord durchführe. genauer Infos zum A-comp sind im Datenblatt ab Seite 186. es würde mich freuen, wen ihr mir helfen könts. danke und grüße Sebastian