Hallo Peter,
Du gingst von einer Arduinonamensgebung aus.
Atmel hat die Port Nummer und Bedeutungen im Atmega2560 Datenblatt
dokumentiert.
Arduino setzt darauf auf und vergibt u.a. vorlaufende Nummern für
digitale I/O Pins.
Siehe:
https://www.arduino.cc/en/Hacking/PinMapping2560
Komme doch ins LunaAVR Forum für weitere Erläuterungen zur Sprache.
Natürlich kann man sich auch eine Arduino -> Atmel AVR Namensraum
erstellen.
1 | #define D0 as porte.0
|
2 | #define D1 as porte.1
|
3 | ' ...
|
4 |
|
5 | ' --
|
6 | #define D40 as portg.1
|
7 | #define D41 as portg.0
|
8 | #define D42 as portl.7
|
9 | #define D43 as portl.6
|
10 | #define D44 as portl.5
|
11 | #define D45 as portl.4
|
12 | #define D46 as portl.3
|
13 | #define D47 as portl.2
|
14 | #define D48 as portl.1
|
15 | #define D49 as portl.0
|
16 | ' --
|
17 | #define D50 as portb.3
|
18 | #define D51 as portb.2
|
19 | #define D52 as portb.1
|
20 | #define D53 as portb.0
|
Dann weiter mit einigen Beispielen:
1 | D45.mode = output, low
|
2 | D46.mode = output, high
|
3 | D47.mode = input, nopullup
|
4 | D48.mode = input, pullup
|
5 |
|
6 | D45 = 0 ' low
|
7 | D45 = 1 ' high
|
8 | D45.toggle
|