Hallo Forum,
ich hab noch mal ein Verständnisproblem, diesmal betrifft es die PollSwitch()-Funktion bzw. die el. Zweige zwischen Pin 5, Pin 27 und R23.
Zunächst: ASURO funktioniert, Selftest war erfolgreich (natürlich auch der Test für Taster K1-K6). Zudem hab ich die Zweige vorsichtshalber (bei gezogenem IC) noch mit einem Ohm-Meter überprüft und dabei keine Auffälligkeiten festgestellt.
Da ich mich für den AD-Wandler ein wenig näher interessierte schrieb ich ein simples Programm:
Meine Erwartung war nun, dass Pin 5 zunächst Low-Pegel führt, bei Ausführung der PollSwitch()-Funktion (nach ein paar Sekunden) High-Pegel (wohl mit einem einfachen Multimeter nicht messbar) und dann wieder Low-Pegel. So steht es ja nach meinem Verständnis auch im Code von asuro.cCode:#include "asuro.h" int main(void) { // Variablendeklaration unsigned char taste; int zaehler; // µC wird in Grundzustand gebracht Init(); StatusLED(YELLOW); //Wartezeit for (zaehler=0; zaehler<3000; zaehler++) { Sleep (216) ; } StatusLED(RED); taste = PollSwitch(); while(1); return 0; }
Der erste Befehl erzeugt die Bitfolge 11111100 im "Port D Data Direction Register" (DDRD), legt also die Richtung des Datenaustausches fest. Passt also. Mit dem 2. Befehl liegt an Pin 5 High-Pegel (via PORTD-Register).Code:unsigned char PollSwitch (void) { (...) DDRD |= SWITCHES; // Switches as Output SWITCH_ON; // Output HIGH for measurement (...) SWITCH_OFF; (...) }
Nun das Merkwürdige:
Messe ich mit einem Voltmeter zwischen Pin 5 (PD3) und Pin 8 (GND) so muss ich feststellen dass zuanfangs High-Pegel anliegt! Drücke ich dabei einen der Taster so stürzt die Spannung ab in den Keller, nahe 0 V. Dabei ist es egal welcher Taster betätigt wird, das Ergebnis ist bis auf wenige mV gleich.
Nach der von mir eingestellten Wartezeit, also bei Aufruf der PollSwitch()-Funktion, geht die Spannung auf 0 V - das kann ich mir durch den SWITCH_OFF Befehl erklären.
Ich grüble und Suche jetzt schon zwei Tage und bin noch noch nicht weitergekommen. Evtl. habt Ihr ja ein paar Tipps für mich
Gruß Swordfish







Zitieren

Lesezeichen