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

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