Diskussion:Erweiterte LCD-Ansteuerung

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Setzen der Pinbelegung in main.h

Um die Pinbelegung in lcd.h nicht immer wieder anpassen zu müssen, wenn man eine erweiterte Fassung dieser Datei lädt, und insbesondere auch um die gleiche lcd.h in mehreren Projekten verwenden zu können, empfiehlt es sich, die Pinbelegung in einer projektspezifischen main.h zentral zu pflegen.

Datei main.h <c> //////////////////////////////////////////////////////////////////////////////// // Hier die verwendete Taktfrequenz in Hz eintragen, wichtig!

  1. define F_CPU 3686400

//////////////////////////////////////////////////////////////////////////////// // Pinbelegung für das LCD, an verwendete Pins anpassen

  1. define LCD_PORTS

// LCD DB4-DB7 <--> PORTD Bit PD4-PD7

  1. define LCD_PORT PORTD
  2. define LCD_DDR DDRD
  3. define LCD_DB PD4

// LCD RS <--> PORTD Bit PD2 (RS: 0=Data, 1=Command)

  1. define LCD_RS PD2

// LCD EN <--> PORTD Bit PD3 (EN: 1-Impuls für Daten)

  1. define LCD_EN PD3

//////////////////////////////////////////////////////////////////////////////// // Pinbelegung für das DCF-Modul

  1. define DCF_PORTS
  1. define DCF_PORT PORTC
  2. define DCF_DDR DDRC
  3. define DCF_PIN PINC

// DCF PON <--> PORTC Bit PC1 (PON: 1=Aus, 1->0=Start)

  1. define DCF_PON PC1

// DCF DATA <--> PORTC Bit PC0 (DATA: 0->1->0 Impulse mit Daten)

  1. define DCF_DATA PC0

...

</c>

Auf diese Weise sind alle Pinbelegungen des Projektes an einer zentralen Stelle übersichtlich zusammengefasst.

Um zu verhindern, dass die Defines aus lcd.h ebenfalls greifen und Warnungen generieren, werden diese mit einem Define in der vorher geladenen main.h unterdrückt.

<c>

  1. define LCD_PORTS

</c>