Nach Jahrzehnten in Assembler Welt versuche ich mein erstes Arduino Program zu schreiben, und gleich habe ich ein Problem. In Void setup; //definiere ich die Ports Int Dir=A0; Int wsense=9; Int esense=8; Usw.. (es gibt noch 8, aber die sind eindeutig) Dann bestimme ich die Signalrichtung PinMode(Dir,INPUT); Für die Ports 8 und 9 kann ich hier noch nichts bestimmen. Dann soll die Bedingung folgen: Wenn: Dir<500 Dann: PinMode(wsense,OUTPUT); PinMode(esense,INPUT); und umgekehrt: Wwnn:Dir>500 akkor PinMode(wsense,INPUT); PinMode(esense,OUTPUT); Es gibt 6 Status, also in jedem muss ich die PINs P8 und P9 neu bestimmen, und dann lesen und schreiben. Wie macht man es am einfachsten? Vielen Dank für eure Hilfe. Eugen
:
Bearbeitet durch User
Eugen T. schrieb: > Es gibt 6 Status, also in jedem muss ich die PINs P8 und P9 neu > bestimmen, und dann lesen und schreiben. > Wie macht man es am einfachsten? Mit einen Array, in dem zu jedem Status für jeden Pin der Modus eingetragen ist. Auf die Werte kann man dann per Status als Index zugreifen und die Pins entsprechend setzen.
Das heißt in jedem Status kann ich die Pins neu definieren, und dann lesen und schreiben? Ich war nicht sicher ob ich diese Definitionen auch in Subroutinen machen darf. Ich werde es bald probieren. Danke?
Eugen T. schrieb: > Ich war nicht sicher ob ich diese Definitionen auch > in Subroutinen machen darf. Hier werden, wie in Assembler, nur die Datenrichtungsregister geschrieben. Das darfst Du überall machen. Bei Arduino wird lediglich zusätzlich die Arduino-"Portnummer" in einen Port und eine Bitmaske umgewandelt.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.