INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Communication-Pins am Arduino Mega 2560
11.02.2016, 08:25
Beitrag #1
Communication-Pins am Arduino Mega 2560
Sehr geehrte Arduino-Community,

Für mein derzeitiges Projekt würde ich gerne von der Port-Manipulation gebrauch machen, da ich ein 8 Bit großes Signal einlesen muss. Mit dem PIN-Register müsste ich ja reintheoretisch alle PINs auf einmal einlesen können. Meine Recherche dazu hat ergeben, dass das Register D dafür das richtige wäre, da es 8 Bit groß ist.
Mein Problem nun ist, dass das Register D die Digital Pins 0 bis 7 beinhaltet, jedoch sind die PINs 0 und 1 unter den Communication-Pins am Arduino Mega 2560 zu finden und ebenfalls mit TX0 und RX0 gekennzeichnet.
Daher kommen bei mir die Frage auf, wofür TX0 und RX0 steht bez. welche Funktion sich dahinter verbirgt und welche PINs nun wirklich mit dem PORTD- Register angesprochen werden.

Für die Antworten bedanke ich mich schon jetzt Smile

Rudi
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.02.2016, 10:13
Beitrag #2
RE: Communication-Pins am Arduino Mega 2560
Hallo Rudi,
die Pins 0 und 1 sind für die Serielle Schnittstelle "Serial 0" reserviert (der MEGA hat auch noch Pins für Serial 1,2 und 3 reserviert). Das TX0 und RX0 steht also für Transmit-Pin0 und Receive-Pin0. Sofern du diese Schnittstelle nicht benötigst, kannst du die Pins als Ein- oder Ausgänge verwenden und somit auch über das Port-Register D einlesen.
Gruß
Retian
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.02.2016, 10:34 (Dieser Beitrag wurde zuletzt bearbeitet: 11.02.2016 10:36 von Rudi.)
Beitrag #3
RE: Communication-Pins am Arduino Mega 2560
Hallo Retian,

Danke für deine schnelle Antwort Smile die PINs D0 und D1 müssten mit dem Befehl
DDRD = B00000000;
ja eig. bereits als Inputs deklariert sein. Die Serielle Schnittstelle benötige ich tatsächlich nicht, weswegen die PINs zur freien Verfügung stehen. Jedoch habe ich zum Testen des Programms alle 8 PINs des D-Registers auf +5V gelegt, das Resultat war jedoch das eine Übertragung des Programms auf den Arduino nicht mehr möglich war.
Kann es sein das das D-Register auf die ersten 8 Digitalpins des Arduino Mega zugreift? Das wären die PINs D22- D28. Leider finde ich im Internet dazu keine Lösung bez. Anhaltspunkte ...

Mit freundlichen Grüßen,

Rudi
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.02.2016, 12:21
Beitrag #4
RE: Communication-Pins am Arduino Mega 2560
Hallo,

(11.02.2016 10:34)Rudi schrieb:  Danke für deine schnelle Antwort Smile die PINs D0 und D1 müssten mit dem Befehl
DDRD = B00000000;
ja eig. bereits als Inputs deklariert sein. Die Serielle Schnittstelle benötige ich tatsächlich nicht, weswegen die PINs zur freien Verfügung stehen. Jedoch habe ich zum Testen des Programms alle 8 PINs des D-Registers auf +5V gelegt, das Resultat war jedoch das eine Übertragung des Programms auf den Arduino nicht mehr möglich war.
Kann es sein das das D-Register auf die ersten 8 Digitalpins des Arduino Mega zugreift? Das wären die PINs D22- D28. Leider finde ich im Internet dazu keine Lösung bez. Anhaltspunkte ...

die erste serielle Schnittstelle (also TxD und RxD) sind fest mit dem USB-Adapter verbunden, darüber werden die Arduions programmiert. Du kannst sie nicht frei nutzen, einmal weil Du den Arduino noch über den Bootloader programmieren willst und zweitens, weil da eben TxD und RxD des USB-Adapters dran hängen.
Was wird wohl passieren, wenn Du z.B. RxD fest an 5V legst und der USB-Adapter versucht, diesen Pin auf Low (GND) zu legen?

Es gibt auch Schaltpläne zu Deinem Board im Netz, da kann man sich soclhe Fallen anschauen.

Ansonsten hat der Mega ja Ports genug, wo es keine Kollisonen gibt.

Gruß aus Berlin
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.02.2016, 12:47
Beitrag #5
RE: Communication-Pins am Arduino Mega 2560
Hallo Michael,
warum sollte man die beiden Pins nicht nutzen können? Also ich verwende sie schon, zumindest beim UNO. Dass man sie beim Booten nicht auf 5V festnageln kann ist schon klar, aber nach dem Booten kann man sie als normale Ein-/Ausgänge verwenden. Und wenn du auf der Arduino-Homepage nachliest, steht dort auch in der UNO-Beschreibung, dass jeder der 14 UNO-Pins als Ein- oder Ausgang genutzt werden kann. Beim MEGA wird das nicht anders sein:

Each of the 14 digital pins on the Uno can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 5 volts. Each pin can provide or receive 20 mA as recommended operating condition and has an internal pull-up resistor (disconnected by default) of 20-50k ohm. A maximum of 40mA is the value that must not be exceeded on any I/O pin to avoid permanent damage to the microcontroller.

Derselbe Text steht dort auch beim MEGA, nur halt mit 54 statt 14 Pins.
(https://www.arduino.cc/en/Main/ArduinoBoardMega2560)
Gruß
Retian
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.02.2016, 12:59 (Dieser Beitrag wurde zuletzt bearbeitet: 11.02.2016 14:23 von Rudi.)
Beitrag #6
RE: Communication-Pins am Arduino Mega 2560
Hallo Amithlon,

Die Verbindung der PINs zum USB-Port war mit allerdings neu :o denn aus dem Reference Design Plan von Arduino direkt kann ich zumindest auf dieses Problem nicht direkt schließen (https://www.arduino.cc/en/uploads/Main/a...ematic.pdf). Ich habe mich dabei am angehängten Schema orientiert, wobei die PINs D0 bis D7 eben genau die TX und RX PINs beinhaltet(http://static.oschina.net/uploads/space/..._83492.png).

Wenn ich nach der Port Manipulation suche finde ich wie gesagt eben nur das es sich beim Register D um diese PINs handeln soll... Speziell zur Port Manipulation am Arduino Mega 2560 finde ich leider nichts brauchbares :/

Gruß Rudi

Ich habe gerade die Lösung gefunden Big Grin Cool
(http://forum.arduino.cc/index.php?topic=52534.0)

Dort ist die Pinbelegung für die Register beschrieben Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.02.2016, 14:42 (Dieser Beitrag wurde zuletzt bearbeitet: 11.02.2016 15:33 von ardu_arne.)
Beitrag #7
RE: Communication-Pins am Arduino Mega 2560
Hallo Rudi,

schön dass du es selbst gefunden hast.
Ich wollte dir gerade schreiben dass die Pinbezeichnungen am Arduino nicht mit den Portregistern des Controllers überein stimmen.
Eigentlich hast du den Schaltplan ja schon gefunden und daraus sind alle Zusammenhänge ersichtlich, man muss ihn sich nur genau anschauen. Smile

Für deine Zwecke wäre die Verwendung von Controller Port A oder C sinnvoll.
Controller Port A Bit 0 bis 7 liegt am Arduino MEGA2560 auf Pin 22 bis 29
Controller Port C Bit 0 bis 7 liegt am Arduino MEGA2560 auf Pin 37 bis 30

Gruß
Arne

p.s.
So wie ich das sehe ist die Liste in Beitrag 1 von http://forum.arduino.cc/index.php?topic=52534.0 fehlerhaft.

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.02.2016, 15:30
Beitrag #8
RE: Communication-Pins am Arduino Mega 2560
Upps, da hab ich was dazugelernt.
Ich war fälschlicherweise der Meinung, dass die Ports B, C und D des MEGA mit der Pinbelegung des UNO übereinstimmen. Und da Rudi in seiner Anfrage von Port D und den I/O-Pins 0 bis 7 schrieb, habe ich da gar nicht weiter nachgesehen, sondern es für richtig angenommen, weil gerade so die Belegung beim UNO ist.
Gruß
Retian
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Datenübertragung vom Arduino Mega 2560 zu Hterm Datatom 1 99 13.11.2016 23:08
Letzter Beitrag: hotsystems
  Arduino Mega 2560 läuft nicht Wolfgang50 6 185 13.11.2016 10:50
Letzter Beitrag: Wolfgang50
  Arduino Mega 2560 Manfred1981 4 190 11.11.2016 18:07
Letzter Beitrag: hotsystems
  Attiny45 Bootloader brennen mit Funduino Mega toto1975 63 2.202 23.10.2016 17:08
Letzter Beitrag: hotsystems
Question Mega 2560 defekt? triode 11 364 29.09.2016 07:21
Letzter Beitrag: hotsystems
  nrf24 an Mega 2560 jgrothe 2 163 10.09.2016 13:39
Letzter Beitrag: jgrothe
  Arduino mega 2560 mit TFT LCD Touch Shield V1 Clemens55555 17 939 02.08.2016 20:51
Letzter Beitrag: Clemens55555
  Mega: Hardware i2c bus speed (Wire.) verändern? HaWe 10 2.928 14.07.2016 20:09
Letzter Beitrag: Mathias
  (Mega) Timer 3 A, B & C Scheams 0 231 04.06.2016 17:09
Letzter Beitrag: Scheams
  DUE-MEGA über I2C Verbinden HTO 0 222 22.05.2016 10:16
Letzter Beitrag: HTO

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste