mega8 Portadressen in C

Gast #132143
Lesenswert?
• ▲
▼
Hallo,

gibt es irgendwo eine Liste mit den Portadressen?
Ich habe zwar die Register im Datenblatt gefunden, kann damit
jedoch nicht viel anfangen.
Ich kann zwar etwas C, habe aber noch keinen AVR damit programmiert.

Dieses Schema eines Mega128 z.B. verstehe ich nicht.

0x01 PB0
0x02 PB1
0x04 PB2
0x08 PB3

Ist das so gemeint?

(00000001)
(00000010)
(00000100)
(00001000)

Wieso ist gerade das PortB?
Kann mir das bitte jemand erklären?

Vielen Dank,

Moritz Becker

PS Selbstverständlich habe ich schon Überall gesucht, nur vielleicht
nicht nach den richtigen Begriffen...
Gast #132144
Lesenswert?
• ▲
▼
Hi,

sowas gibt es für alle Ports, zumindest für die Pins, die diese
haben...
Ansonsten bedeutet es schon das, was du da aufgeschrieben hast. Ne
Liste der Portadressen gibt es auch, aber das sind die Pins. Die
Auflistung findest du typischerweise in den Includes. Allerdings soll
dir die wirkliche Adresse egal sein - verwende die symbolischen Namen,
dafür sind sie da.
Gast #132146
Lesenswert?
• ▲
▼
Hi,

vielen Dank für die schnellen Antworten.
Nur zur Kontrolle:
Statt #define LCD_DC_PIN  0x10  //  PB4
könnte ich auch #define LCD_DC_PIN  PB4 schreiben?

Ich hab' gerade gesehen, dass ich mich etwas geirrt habe.
Ich kann den Portpin also nicht "ohne" PortB setzen?
Das geht immer nur so:
setzen:    PORTB |= LCD_DC_PIN;
rücksetzen PORTB &= ~LCD_DC_PIN;
(Wofür steht eigentlich das "|=" bzw "&="?

Gruß,

Moritz Becker

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren