Verständnisfrage - AVR-Pinbelegung

Gast #1969292
Lesenswert?
• ▲
▼
Hallo,

bin grad mehr oder weniger frisch in der Mikrocontrollerprogrammierung 
eingestiegen und hab da mal eine Verständnisfrage.

Ich wollte ein LCD-Display an meinen ATmega128 anschließen und mal 
kucken was passiert. Und bin dabei über folgende Codezeilen gestoßen.
1
/*
2
 * Copyright:      Fabian Maximilian Thiele  mailto:me@apetech.de
3
 * Author:         Fabian Maximilian Thiele
4
 * Remarks:        this Copyright must be included
5
 * known Problems: none
6
 * Version:        1.1
7
 * Description:    Graphic Library for KS0108- (and compatible) based LCDs
8
 * 
9
 */
10

11
#include <inttypes.h>
12
#include <avr/pgmspace.h>
13

14
#ifndef  KS0108_H
15
#define KS0108_H
16

17
// Ports
18
#define LCD_CMD_PORT    PORTA    // Command Output Register
19
#define LCD_CMD_DIR     DDRA    // Data Direction Register for Command Port
20

21
#define LCD_DATA_IN     PINC    // Data Input Register
22
#define LCD_DATA_OUT    PORTC    // Data Output Register
23
#define LCD_DATA_DIR    DDRC    // Data Direction Register for Data Port
24
// Command Port Bits
25

26
#define D_I          0x00    // D/I Bit Number
27
#define R_W          0x01    // R/W Bit Number
28
#define EN           0x02    // EN Bit Number
29
#define CSEL1        0x03    // CS1 Bit Number
30
#define CSEL2        0x04    // CS2 Bit Number

Speziell interessieren mich die letzten fünf Zeilen.
Ich weiß, dass die Pin D/I, R/W, EN, CSEL1 und CSEL2 an die Pins PC0 bis 
PC4 gehören (oder etwa nicht)?
Welche Syntax steckt denn da dahinter?
Ich meine aus den 5 Zeilen lese ich als Anfänger nicht das die zu PortC 
gehören. Hab auch schon das AVR-GCC-Tutorial bemüht aber nix so richtig 
gefunden (es sei denn es hat was mit "Vordefinierte Bitnummern für 
I/O-Register" zu tun).

Würde mich über eine Antwort freuen =)
#1969385
Lesenswert?
• ▲
▼
n00b schrieb:
> Ich meine aus den 5 Zeilen lese ich als Anfänger nicht das die zu PortC
> gehören.

Sie gehören auch nicht zu Port C:

> #define LCD_CMD_PORT    PORTA    // Command Output Register
...
> // Command Port Bits
> #define D_I          0x00    // D/I Bit Number

Das Command Register ist laut Kommentaren und den dazugehörigen 
Definitionen Port A.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.