Pages: [1]   Go Down
Author Topic: Anfänger Frage Portmanipulation/IO  (Read 549 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,
nach langer Zeit möchte ich wieder etwas mehr mit Mikroprozessoren arbeiten.
Ich habe eine Frage zum Portmapping beim Seeeduino Mega 1280.
In einen bestehenden Code soll ein Digitaler Output hinzugefügt werden.
So ist es bereits gelöst.
Code:
 
  #define LEDPIN 13
  #define LEDPIN_PINMODE             pinMode (13, OUTPUT);
  #define LEDPIN_SWITCH              PINB |= (1<<7);
  #define LEDPIN_OFF                 PORTB &= ~(1<<7);
  #define LEDPIN_ON                  PORTB |= (1<<7);
ich möchte den neuen Ausgang auf den PIN 22 legen.
Ich hoffe dieser ist ein I/O.
Wo gibt es eigentlich Doku zu dem Seeeduino?
Wo finde ich die Referenz von PIN-Beschriftung zu Controller?
Laut http://www.arduino.cc/en/Reference/PortManipulation sind die
PortD = digital 0-7
PortB = digital 8-13
Ich vermute Pin22 ist dann Digital I/O null ?
Ist dann  
Code:
 
  #define LEDPIN 0
  #define LEDPIN_PINMODE             pinMode (0, OUTPUT);
  #define LEDPIN_SWITCH              PIND |= (1<<7);
  #define LEDPIN_OFF                 PORTD &= ~(1<<7);
  #define LEDPIN_ON                  PORTD |= (1<<7);
richtig oder muss ich die 13 mit 22 ersetzen?
richtig ?

« Last Edit: March 07, 2011, 01:35:55 pm by sandmen » Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 263
Posts: 21583
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Die Daten gelten für den Atmega328 bzw ATmega168. Der hat 3 Ports.
Der Seeduino Mega hat den ATmega1280 und hat viel mehr Ports.
Wieso willst Du direkt auf die Ports zugreifen und nicht über pinMode?
Grüße Uwe
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

1. Um den bestehenden Codestyle zu behalten.
2. Um mal wieder etwas detailierter in die Materie reinzukommen.

Klar mit digitalWrite/digitalRead wäre ich bereits fertig :-)

Vielleicht kannst Du mir noch ein paar Hinweise zur Doku geben?

Vielen Dank im vorraus.
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 263
Posts: 21583
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

http://www.atmel.com/dyn/resources/prod_documents/doc2549.PDF
Seiten 4 bis 10

Die Ansteuerung müßte analog zu den ports A bis C des ATmega328 sein.

Grüße Uwe
Logged

AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 21
Posts: 1128
I am 1 of 10 who understands binary
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wenn du einen Seeeduino hast und die "überetztung" der Ports brauch schau mal in die Datei
"*\arduino-0022\hardware\arduino\cores\arduino\pins_arduino.c" da steht wahrscheinlich das was du willst.
Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

Pages: [1]   Go Up
Jump to: