Arduino Due IOs Binär initialisieren und Outputs Binär setzen

Moin Zusammen,

ich fange grade an mit uC programmieren und habe kleine Startprobleme.

Ich habe eine Arduino Due und kann somit die Lib avr/io.h selbstverständlich nicht benutzen,
was die Suche in Google echt schwer macht.

Ich möchte gerne die IOs gerne Binär initialisieren und die Outputs auch Binär setzen können.

Beispiel mit AVR Arduino:

#include <avr/io.h>

void setup()
  {
  DDRB = B11111111;      // alle Bits als Ausgang
  }

// Wechselblinker mit allen Ausgaengen
void loop()
  {
  PORTB = B10101010;
  delay(300);
  PORTB = B01010101;
  delay(300);
  }

Für die Interna des Due fragst du am besten im Englischen Due Forum nach. Hier kennen sich glaube ich sehr wenige bis keiner damit aus.

Ansonsten steht sowas im Datenblatt des Prozessors:

Die I/Os sind ab Seite 641 beschrieben

Das Pin Mapping gibt es hier:


http://www.adrirobot.it/arduino/arduino_due/immagini/Due-pinout-A4_grande.png

Werwolf92:
Ich möchte gerne die IOs gerne Binär initialisieren und die Outputs auch Binär setzen können.

Du möchtest also wissen, wie die Funktionen pinMode, digitalRead und digitalWrite das mit den I/Os machen, wenn sie "direkt" auf die Register des Controllers zugreifen.

Dazu schaust Du entweder in das Datenblatt des SAM3X Controllers, in dem alles notwendige zum Controller erklärt ist. Allerdings auf einem Level, das für ausgebildete Fachleute gemacht ist.

Oder wenn Du keine Controller-Datenblätter lesen kannst und eine eine Open-Source-Software wie die Arduino Core-Library bereits vorliegen hast, schaust Dir Dir dazu im Quellcode der Library den Quellcode der Funktionen pinMode, digitalRead und digitalWrite an. Und zwar für den SAM3X Controller den Quellcode im Verzeichniszweig "hardware\arduino\sam" und nicht im Zweig "hardware\arduino\avr", denn letzterer wäre der Quellcodezweig für die 8-bit Atmega-Controller.

Danke erstmal für die Antworten.

Ich denke ich hab mir in dem Fall da zuviel vorgenommen. Bin ja noch ein Anfänger.
Aufjedenfall habt ihr mir schonmal sehr geholfen, besonders das mit dem Pin-Mapping und den Verzeichniszweig für den SAM3X.

Ich hab mir nun den Arduino UNO geholt, da ich mit Atmel Controllern in meiner Ausbildung schon zutun hatte, und ich mehr deutschen Support finde dort.

Für allgemeine Due Fragen findest du auch hier Hilfe. Aber was das Programmieren der Prozessor-Register betrifft sieht es da eher mau aus.

Der AVR ist hier in der Tat die weit bessere Wahl wenn du etwas Lernen willst. Die ARM Prozessoren sind um einiges komplizierter und auch für Fortgeschrittene etwas verwirrend. Sieht man bei diesem Thema schon, da es einen ganzen Haufen mehr Einstellungsmöglichkeiten bei den I/O Registern gibt.