Forum: Mikrocontroller und Digitale Elektronik Atmega64 Tastenabfrage


von schurli (Gast)


Lesenswert?

Hi

Ich arbeite mit einem ATMEGA64.
Leider komme ich nicht mit der Tastenabfrage zurecht.
1
DDRA=0x00;  //Port A als Eingang
2
PORTA=0xFF; //Pullups aktivieren
3
4
5
while (1)
6
{
7
  if(!PA0)
8
  { ... 
9
  }
10
}


Wenn ich den Pin PA0 auf Ground lege, sollte meiner Meinung nach die 
If-Abfrage ausgeführt werden - tut sie aber nicht???
Ich habe 5V am Pin gemessen, also sollte der Pullup aktiv sein.

von Peter D. (peda)


Lesenswert?

Wie ist denn PA0 definiert?

Als Bitvariable für PINA.0?


Peter

von Stefan E. (sternst)


Lesenswert?

PA0 ist eine Konstante, einfach nur eine Nummer. Wenn du den Zustand am 
Pin abfragen willst, geht das so:
if (!(PINA & (1<<PA0)))

von schurli (Gast)


Lesenswert?

Hi

Dachte mir, dass man Port A, Pin 0 mit "PA0" abfragen kann.

mfg

von Stefan E. (sternst)


Lesenswert?


von schurli (Gast)


Lesenswert?

Danke!

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.