Arduino integer bedeutung?

3 Antworten

Die I/O leitungen sind einfach nur eine Speicheradresse. Da gibt es mindestens zwei register, beim AVR (Also auch beim Arduino) drei Stück. Eine Speicherzelle bestimmt ob der Pin ein Ein- oder Ausgang ist. Jeder Pin hat ein Bit in diesem Speicherregister. Ein weiteres Register legt fest ob der Ausgang Ein- oder Ausgeschaltet werden soll. Ist es ein Ausgang, schaltet man hier den Pin auf HIGH oder LOW, ist es ein Eingang, schaltet man den "Weak Pullup" ein oder aus. Das ist ein Widerstand zwischen pin und Plus der den Pin nach HIGH zieht sofern nichts von außen stärker nach LOW zieht. Das dritte Register kann nur gelesen werden und zeigt ob der Pin HIGH oder LOW hat, egal ob das von Außen oder innen kommt.

Jeder Port des Mikrocontrollers hat 8 Pins (nicht immer alle davon sind angeschlossen). um einen Pin abzufragen oder zu steuern muss man wissen an welchen port (Adresse des Steuerregisters) der angeschlossen ist und an welcher Stelle (Bitposition im register). Ein Mikrocontroller kann mehr als einen Port haben aber jeder Port hat 8 Pins, auch wenn die nicht aus dem IC gehäuse raus geführt sind.

Beim Arduino sind die Pins einfach durchnummeriert. Spezielle Arduino Funktionen nutzen diese Zahl um die Portadresse und Stelle des Bits auszurechnen. Im programm gibt man also die Nummer auf der Platine an und wenn man das richtige Board eingestellt hat rechnet der Compiler das später passend in Adressen und Bitpositionen um.

Die integers am Programmanfang übersetzen einfach "Namen" (hier Segmentnummern) auf Pinnummern der Arduinoplatine. Im programm schreibt man einfach die Namen der Segmente die das programm als Variable behandelt in denen die Pinnummern der Platine stehen.

Woher ich das weiß:Berufserfahrung

Dieses segA... usw wird später für die Zuweisung der Pins benutzt. Also welches Kabel in welchem Slot des Arduino steckt.

In dieser Programmiersprache muss man aber dann noch die Variablen deklarien. Hier könnte man Double, Float und Integer nehmen, das sich am besten eigenet für Ganze Zahlen, wie du sie hast.

integer = Ganzzahl Datentyp

Auf dem Arduino Uno (und anderen ATmega-basierten Boards) speichert ein int einen 16-Bit-Wert (2 Byte). Dies ergibt einen Bereich von -32,768 bis 32,767