Pages: [1]   Go Down
Author Topic: Ändern der Pinzuordnung in pins_arduino.h / .cpp ?  (Read 552 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 58
este es la leche
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo zusammen,
ist es möglich die Zuordnung der PINs in "pins_arduino.c" zu ändern. Hintergrund der Frage ist eigentlich, das ich selbst ein Board aufbaue für mein Projekt. Um das Layout zu vereinfachen sollte die Pinzuordnung anders sein als auf dem ARDUINO MEGA 2560. Es geht hier hauptsächlich um die Daten und Steuerleitungen für das TFT Display, das Display soll über die Steckleiste direkt mit dem Board verbunden werden (ohne Shield), z.B. die Steuerleitungen für den Touch sind im Original die Digitalausgänge 2,3,4,5,6 (ATMega 2560 Pin 6,7,1,5,15) sollen gändert werden auf die Pins 65,66,67,68,69. Geht sowas?
Logged

Forum Moderator
BZ (I)
Online Online
Brattain Member
*****
Karma: 234
Posts: 20182
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich verstehe Dein Problem nicht. Bei der Initialisation des Displays schreibst Du einfach die Pins die Du verwendest. Da mußt Du nichts in der Library ändern. Ja Du kannst die Library ändern. Installier einfach eine 2. kopie der IDE und verändere die Library dort. so kannst Du immernoch mit der ersten normale Arduino programmieren.
Grüße Uwe
Logged

Germany S-H
Offline Offline
Edison Member
*
Karma: 117
Posts: 2436
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Es geht hier hauptsächlich um die Daten und Steuerleitungen für das TFT Display, das Display soll über die Steckleiste direkt mit dem Board verbunden werden (ohne Shield), z.B. die Steuerleitungen für den Touch sind im Original die Digitalausgänge 2,3,4,5,6 (ATMega 2560 Pin 6,7,1,5,15) sollen gändert werden auf die Pins 65,66,67,68,69. Geht sowas?

Bei vielen Libraries können die zu verwendenden Steuerleistungs-Pins aus dem Anwenderprogramm heraus völlig frei initialisiert werden. Schau Dir an, wie es bei der zu verwendenden Library ist!

Wenn in der von Dir verwendeten Touch-Library andere Pins verwendet werden sollen, und das kann (wider Erwarten) im Sketch nicht auf andere Pins eingestellt werden, dann mußt Du die verwendete Touch-Library umschreiben und natürlich nicht pins_arduino.h.

Denn Dein Arduino bekommt keine anderen Pins nur weil Du ein Touch-Display anders anschließt, sondern umgekehrt das Touch-Display benötigt eine andere Ansteuerung wenn es anders angeschlossen ist.

Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 58
este es la leche
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo zusammen,
in dem Sketch (IDE0023) sind folgende Lib eingefügt "ITDB02_Graph_16.h" und "ITDB32_Touch.h(IDTB02_Touch.h)".
Im Sketch selbst sind bei der Initalisierung die Zeilen "ITDB02  myGLCD(38,39,40,41,ITDB32WC);" und " ITDB32_Touch  myTouch(6,5,4,3,2;" eingefügt.
Die Pinnummer sind von dem Arduinoboard, ich möchte, falls es möglich ist aber andere Pins verwenden (z.B. 38 -> PD7 (µPC Pin50), 39 -> PG2 (µPC Pin70) etc.; PG2 soll ersetzt werden durch PD6 (µPC Pin49) etc.
Hier stellt sich eben die Frage ob es so einfach möglich ist (die Zeile "ITDB02  myGLCD(38,39,40,141,ITDB32WC);" durch "ITDB02  myGLCD(47,48,49,50,ITDB32WC);" zu ersetzen, da ich in meinem Projekt kein Shield verwende, sondern die 2x20polige Buchsenleiste direkt auf die gleiche Platine löte, wie den Prozessor.
In der Portliste (pins_arduino.c) steht folgendes:
const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
   // PORTLIST      
   // -------------------------------------------      
   PE   , // PE 0 ** 0 ** USART0_RX   
   PE   , // PE 1 ** 1 ** USART0_TX   
   PE   , // PE 4 ** 2 ** PWM2   
   PE   , // PE 5 ** 3 ** PWM3   
   PG   , // PG 5 ** 4 ** PWM4   
   PE   , // PE 3 ** 5 ** PWM5   
   PH   , // PH 3 ** 6 ** PWM6   
   PH   , // PH 4 ** 7 ** PWM7   
soll man hier z.B. aus "PG   , // PG 5 ** 4 ** PWM4   " dann "PG   , // PG 5 ** 49 ** PWM4" machen? Oder macht das keinen Sinn?
Logged

Pages: [1]   Go Up
Jump to: