Optrex 5008 4-bit Ansteuerung (GCC)

Gast #323740
Lesenswert?
• ▲
▼
Ich habe die Lib von Knut Baardsen gefunden.

Da ich das Display im 4-bit Modus ansteuern will habe ich die folgenden
Änderungen gemacht:

void lcd_write_data(unsigned char data)
{
/* originaler Code */
  LCDDATAPORT = data;
  LCDCTLPORT &= ~(A0);
  LCDCTLPORT &= ~(WR);
  LCDCTLPORT |= WR;  */

  // ab hier neue 4-bit routinen

  /* output high nibble first */
  LCDDATAPORT = (LCDDATAPORT & (~(0x0F << LCD_DATA_OFFSET))) | ((data &
0xF0) >> (4-LCD_DATA_OFFSET));
  LCDCTLPORT &= ~(A0); // wie gehabt, siehe oben
  LCDCTLPORT &= ~(WR);
  LCDCTLPORT |= WR;

  delay_ms(2); // sicher ist sicher ?

  /* output low nibble */
  LCDDATAPORT = (LCDDATAPORT & (~(0x0F << LCD_DATA_OFFSET))) | ((data &
0x0F) << LCD_DATA_OFFSET);
  LCDCTLPORT &= ~(A0);
  LCDCTLPORT &= ~(WR);
  LCDCTLPORT |= WR;

}

Gleiches Schema für die lcd_write_command Funktion.

Hier noch die defines:

#define LCD_DATA_OFFSET  0  // PB0 = 0; PB3 = 3 etc.
// Data port
#define LCDDATAPIN      PINA
#define LCDDATADDR     DDRA
#define LCDDATAPORT    PORTA
// Control port
#define LCDCTLPIN      PINB
#define LCDCTLDDR     DDRB
#define LCDCTLPORT     PORTB
// Control pins
#define RST         0x01
#define RD             0x02
#define WR             0x03
#define A0             0x04
// LCD display data
#define LCD_X_SIZE     128
#define LCD_Y_SIZE     128
#define LCD_XTAL       10000000

Das Display wird scheinbar initialisiert (gelöscht), allerdings kann
ich weder Text noch Grafik schreiben.

Ist die Umsetzung auf 4 Bit oben korrekt ?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.