- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 32

Thema: LCD defekt?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Diese Initialisierung verwende ich bei meinem Display für mein I2C-LCD am arm64. Der Code ist aus den Libraries des m32 kopiert:
    Code:
    // Initialize the LCD. Always call this before using the LCD!
    void initLCD(void)
    {
    	//delayCycles(34000); No need for Power ON delay as usually the
    	// Bootloader should have been executed before...
    	setLCDD(0b0011);
    	delayCycles(18000);
    	setLCDD(0b0011);
    	delayCycles(5500);
    	setLCDD(0b0011);
    	delayCycles(5500);
    	setLCDD(0b0010);
    	delayCycles(5500);
    	writeLCDCommand(0b00101000);
    	delayCycles(5500);
    	writeLCDCommand(0b00001000);
    	delayCycles(5500);
    	writeLCDCommand(0b00000001);
    	delayCycles(5500);
    	writeLCDCommand(0b00000010);
    	delayCycles(5500);
    	writeLCDCommand(0b00001100);
    	delayCycles(5500);
    }
    Der rote Bereich ist das CLS-Kommando. Dieses braucht zur Ausführung laut Datenblatt meines LCD aber bis zu 1,64ms! Alle anderen Befehle brauchen maximal 40µs. Das ist letztlich der Grund warum meine eigenen LCD-Ansteuerungen bisher nicht sauber liefen. Hier mein aktuelles Setup, die zweiten Werte sind die Wartezeiten in µs laut Datenblatt, sieht deshalb (seit heute;) so aus:
    Code:
    	rsl;
    	_delay_ms(20);                // Initialisieren >15ms nach dem Einschalten
    	lcd_write8(0b00110000,5000);	// >4,1ms
    	lcd_write8(0b00110000,150);   //
    	lcd_write8(0b00110000,150);   //
    	lcd_write8(0b00110000,150);   //
    
    	lcd_write8(0b00100000,150);	// Function Set: 4bit-Modus starten
    	lcd_write4(0b00101000,40);		// Function Set: 2 Zeilen, Font 0 (0010NFxx)
    	lcd_write4(0b00000001,1640);	// Display Clear (dauert ewige 1,64ms!!!)
    	lcd_write4(0b00000110,40);		// Entry Mode Set: inc, no shift
    	lcd_write4(0b00001100,40);		// Display On and Cursor (00001DCB)
    	rsh;
    Lange Rede, kurzer Sinn: Vielleicht stimmt die Initialisierung in der m32-Lib nicht:

    // writeLCDCommand(0b00000001);

    Gruß

    mic
    Geändert von radbruch (18.06.2011 um 17:06 Uhr)
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Ähnliche Themen

  1. RP6 TWI Defekt
    Von Magelan1979 im Forum Robby RP6
    Antworten: 9
    Letzter Beitrag: 22.06.2010, 18:38
  2. LCD Defekt
    Von Pipo im Forum Robby RP6
    Antworten: 6
    Letzter Beitrag: 01.06.2010, 17:53
  3. LCD defekt?
    Von iK3 im Forum AVR Hardwarethemen
    Antworten: 13
    Letzter Beitrag: 01.02.2009, 17:12
  4. AVR-ISP defekt?
    Von der_andi im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 04.02.2008, 10:40
  5. LCD defekt?
    Von PcVirus im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 13.07.2006, 05:49

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen