Forum: Mikrocontroller und Digitale Elektronik ATmega32 PortD PD4 immer auf high?


von Andreas S. (crsle)


Lesenswert?

Hallo,

auf dem Atmel Evaluationboard von Pollin sind beim ATmega32 am PortD 2-4 
je einen Taster mittels Active High angeschlossen.
Bei Druck sollte der pegel also auf high gehen. Das funktioniert auch 
bei Pin 2 und 3 problemlos, nur liegt pin 4 ständgi auf high 
(nachgemessen).

Frage: Woran liegts? PD4 ist am ATmega32 auch als OC1B gekennzeichnet, 
laut Datenblatt sollte das aber deaktiviert sein.

Im Code habe ich zunächst die Pins auf EIngang geschaltet und dann noch 
die Pullups deaktiviert.
1
// Port D 2-4 Input, 5-6 Output
2
DDRD = (0 << DDD2) | (0 << DDD3) | (0 << DDD4) | (1 << DDD5) | (1 << DDD6); 
3
  
4
//PullUps off
5
PORTD |= (0<<PD2);        
6
PORTD |= (0<<PD3);        
7
PORTD |= (0<<PD4);

Hat vielleicht jemand eine Idee woran es liegen könnte?

Gruß,
Andreas

von Andreas K. (a-k)


Lesenswert?

Andreas Schneider wrote:

> //PullUps off
> PORTD |= (0<<PD2);

Ist so wirkungslos. Besser:

PORTD &= ~(1<<PD3);

Und wenn die Taster hochziehen, dann muss irgendwer anders sie im 
inaktiven Zustand der Taster runterziehen. Ist dazu etwas realisiert?

von Andreas S. (crsle)


Lesenswert?

Hallo,

also ich habe die Pullups jetzt mal komplett weggelassen, geht auch.

Die Schaltung auf dem Board ist wie hier realisiert: 
http://www.mikrocontroller.net/wikifiles/a/a2/Active_High.gif

Taster 1 und 2 funktionieren ja auch wie gewollt, nur liegt an Pin4 eben 
immer Spannung an. echt mystisch.

Andreas

von Andreas S. (crsle)


Lesenswert?

Okay scheinbar handelt es sich um ein Hardwarefehler, der Pin liegt 
tatsächlich immer auf VCC, selbst im ausgeschalten Zustand ist diese 
Verbindung da.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Taster 90° verdreht eingesetzt oder angeschlossen?

Einige Taster haben folgenden Aufbau:

         ===
          |
        =====

1  *----+   +-----* 4
        |   |
2  *----+   +-----* 3

d.h. jeweils zwei Kontakte an einer Seite sind miteinander verbunden.

Wenn der Taster 1-4 oder 2-4 oder 1-3 oder 2-4 in der Schaltleitung 
sitzt, klappt das Öffnen/Schliessen.

Wenn der Taster 1-2 oder 3-4 in der Schaltleitung sitzt, klappt das 
Öffnen/Schliessen nicht. Es ist eine Dauerverbindung vorhanden.

von Christian U. (z0m3ie)


Lesenswert?

Sind die Fuses richtig gesetzt ? Z.b. JTAG angeschaltet ?

von Andreas S. (crsle)


Lesenswert?

Das der Taster falsch angeschlossen ist, war auch mein Gedanke, aber 
selbst wenn ich den per Jumper deaktivieren, liegt VCC an.

Bei den Fuses, keine Ahnung. JTAG on/off macht keinen Unterschied, bei 
den anderen habe ich keinen Plan.

von Toni (Gast)


Lesenswert?

Hast du mal mit einem Durchgangsprüfer (oder Widerstandsmessgerät) 
nachgemessen ob die High Verbindung auch da ist wenn am µC keine 
Spannung anliegt? Damit könnte man den µC als Verursacher ausschließen.

von Andreas S. (crsle)


Lesenswert?

Ja habe ich gemacht und VCC liegt auch im ausgeschalteten Zustand an.
Hab leider keinen anderen µC hier um mal zu testen obs am Board oder µC 
liegt.

von Jadeclaw D. (jadeclaw)


Lesenswert?

Der ist doch gesockelt, zieh ihn doch einfach raus
(Mit der nötigen Vorsicht bitte).
Lötbrücken, ein nicht sauber weggeätzter Kupferrest, ein kaputter 
Taster,
Möglichkeiten gibt es genug für einen Kurzen.

Gruß
Jadeclaw.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.