Digital Outpu

Hallo
Ich möchte eine digitale Schnittstelle konfigurieren. Als von meinem Arduino ein digitales Signal mit 8 Bit ausgeben und von einer anderen Hardware wieder einlesen.

Mit welchem Befehl gebe ich das digitale Signal aus?
pinmode(Pin, High) oder einfach den ganzen Port beschreiben, z.B. PortA= 256?

Worin liegt genau der Unterschied? Welche Ausgangsschaltung muss ich wählen, damit ich das Signal mit einer anderen Hardware einlesen kann?

Danke im Voraus!

pinmode(Pin, OUTPUT);
digitalWrite(Pin, HIGH);

Siehe Language Reference.

Einen ganzen Port zu beschreiben, wird von der IDE nicht direkt unterstützt. Ob es einen Port mit zusammenhängenden Bits gibt, hängt vom Arduino ab. Beim Mega2560 geht das (PORTL = B10100000 ; ).

Sonst kann ein MCP23017 Portexpander sowas.

Schau Dir mal die Pinouts an. Ganze Ports hast Du z.B. beim UNO nicht.

Dein Zielsystem muss ja auch merken, wenn Du etwas sendest. Also würde ich ein zusätzliches Handshake-Signal (9. Leitung) nutzen.

Damit aknnst Du "in aller Ruhe" Deine 8 Bit, die nicht auf einem Port liegen müssen mit digitalWrite beschreiben und dann am Handshakeport kurz ein Signal geben, damit die Gegenstelle weiß, dass was da ist.
Sinnvollerweise solltest Du auch eine Antwortleitung rückwärts setzen, die sagt: Ok, habs gelesen, Du kannst das nächste schicken.

Warum willst Du übrigens parallel senden? Es gibt viele erprobte serielle Protokolle.

Gruß Tommy

Arduino hat mehrere verschiedene serielle Schnittstellen. Wieso benutzt Du nicht eine von denen?

Grüße Uwe

Der TO schrieb nichts von parallel. Allerdings glaube ich aufgrund der Formulierung der Frage an fehlenden Kenntnissen der absoluten Basics.

Edi2017:
einfach den ganzen Port beschreiben, z.B. PortA= 256?

Das könnte man als "parallel" interpretieren, gibt dir aber völlig Recht, @ElEspanol :slight_smile:

Übrigens:
Willkommen im Forum, Edi

Hi

Mich stören die 256 etwas - da ein Port nur 8bit breit ist (zumindest mir so bekannt, hatte aber bisher auch nur 8-biter in den Fingern), wird das Beschreiben mit 256, da 9 bit, zumindest zum Beschreiben mit 0 führen.
Mit etwas Glück zu Warnungen, da das Port eben zu klein für den benutzten Datentyp (hier wohl int) ist.

Wenn sich in dem Port auch Eingänge befinden sollte man gehört haben, daß das Beschreiben des Port mit 1 den internen Pull-UP zuschaltet, mit 0 abschaltet.

MfG

256 war das eine.
Ausserdem gibt es PortA nicht. In welchem Zusammenhang Edi2017 evtl. etwas von PORTA aufgeschnappt haben könnte, ist mir ein Rätsel.

Daher stimme ich

ElEspanol:
Allerdings glaube ich aufgrund der Formulierung der Frage an fehlende Kenntnisse der absoluten Basics

voll zu.

Wenn jemand "8 Bit an andere Hardware ausgeben" will, ist so viel unklar, dass man keine konkreten Tips geben kann.