PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PORTA als Digitaleingang(Atmega16L)



Matt_ho
14.11.2005, 17:03
Hallo zusammen.
Hab ein Problem mit der Benutzung des PORTA des Atmega16L als Digitaleingang.
Wie kann ich dem 16L mitteilen, das es sich hier nicht um ADC's sondern um Digitaleingänge handeln soll?
Ich(Anfänger) wäre für Eure Hilfe sehr dankbar.

=D>

linux_80
14.11.2005, 18:27
Hi,

einfach den Port als Eingang definieren, und den Wert auslesen, Fertig.

Ein Port wird immer so verwendet wie man ihn anspricht, erst dann enscheidet sich was für eine funktion er hat.

Siehe Datenblatt !

Matt_ho
15.11.2005, 06:40
Hallo linux_80 und danke für den Tip.
Meintest Du etwa DDRA = 0x00; ? Das war schon dabei, funktioniert aber nicht.Kann's sein das der 16L trotzdem an Port A als Analogeingang nutzt?

SprinterSB
15.11.2005, 07:38
Du liest an PINx (nicht etwas an PORTx) ?

Matt_ho
15.11.2005, 09:44
Hallo Georg.
Ich habe DDRA mit 0x00 zum Eingang gemacht und mit PINA1 ausgelesen...ohne Erfolg.

SprinterSB
15.11.2005, 09:49
Poste doch mal den Code, kann ja nicht viel sein, evtl auch das, was der Compiler sieht (precompile)

bluebrother
15.11.2005, 15:08
Ich habe DDRA mit 0x00 zum Eingang gemacht und mit PINA1 ausgelesen...ohne Erfolg.
du musst immer den ganzen Port lesen, also
variable = PINA;
welcher Pin es dann genau ist musst du dann halt entsprechend ausmaskieren.