Forum: Mikrocontroller und Digitale Elektronik Pins ansprechen vom Mega 2560 mit Luna-Avr ?


von peter (Gast)


Lesenswert?

Hallo, guten Tag.
Wie kann man bitte die Pins ansprechen beim Mega2560 mit Luna-Avr ?
Bei den anderen Avr lese ich immer Porta..Portb ...Portc usw.

Wie spreche ich zb beim Mega2560 den Pin45 an?

Danke.
Gruss

von Einer K. (Gast)


Lesenswert?

> Bei den anderen Avr lese ich immer Porta..Portb ...Portc usw.

Arduino Pin45 ist PORTL Bit 4

(Von Luna habe ich KA)

von peter (Gast)


Lesenswert?

Ah.. danke.
Das wusste ich nicht, das die Pins auch nach a,b,c usw aufgeteilt sind.

Danke.
Gruss

von Kaj (Gast)


Lesenswert?

peter schrieb:
> Das wusste ich nicht, das die Pins auch nach a,b,c usw aufgeteilt sind.
Einfach mal ins Datenblatt des 2560 gucken koennte helfen...

von Postillon (Gast)


Lesenswert?

Kaj schrieb:
> Einfach mal ins Datenblatt des 2560 gucken koennte helfen...

Ist heutzutage zu schwer, es muss alles doppelt vorgekaut werden, erst 
dann flutscht es.

von Karl M. (Gast)


Lesenswert?

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

von Thomas (Gast)


Lesenswert?

Ich setze die Ports und Register lieber laut Datenblatt direkt, da hat 
man die volle Kontrolle, z.B.:
1
avr.DDRL.PINL0 = 1 'als eingang konfigurieren
2
value = avr.PORTL.PINL0 'pin zustand lesen

von Le X. (lex_91)


Lesenswert?

Thomas schrieb:
> Ich setze die Ports und Register lieber laut Datenblatt direkt, da hat
> man die volle Kontrolle, z.B.:

Du krasser Draufgänger!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.