banner left Boxtec Banner
Platzhalter BoxtecProdukteForumShopKontaktPlaygroundn/aJobs
 

Lesen eines Pins im pinMode(OUTPUT)

Wenn versucht wird mit digitalRead() einen Pin zu lesen, der vorher mit pinMode(OUTPUT); als Ausgang konfiguriert wurde erhält man immer 0/LOW und der Port geht auch auf LOW. Wir vermuten, dass der digitalRead() Befehl auch eine Umschaltung des Ports zum Eingang einhergeht, welche dafür sorgt dass die Pulldown Widerstände aktiviert werden.

Um dies zu umgehen und trotzdem nicht von jedem Ausgang eine Statusvariable mitführen zu müssen kann man wie folgt vorgehen, um die Register des ATmega Chips direkt auszulesen:

port_status = bitRead(PORTD,2); // digitalen Pin 2 auslesen

Welchen Port und welchen Pin man für welche Arduino Pin-Nummer nehmen muss, kann folgendem Diagramm von der Arduino Website entnommen werden:

Arduino Pin Mapping

Beispiel

Um Pin 13 auszulesen:

port_status = bitRead(PORTB,5);
 
arduino/arduino_read_output_pin.txt · Last modified: 2013/01/15 23:38 by boxtec
 
 

zum Seitenanfang

Letzte Aktualisierung: © boxtec internet appliances · the better security products