-
        

Ergebnis 1 bis 3 von 3

Thema: 4x20 Display an M256

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.01.2010
    Ort
    Bielefeld
    Beiträge
    101

    4x20 Display an M256

    Anzeige

    Hallo

    habe ähnlich wie bei der M32 die Libs verändert aber da kommt nur misst bei raus.
    habe es so abgeändert:
    h. lib
    Code:
    void _showScreenLCD_P(const char *line1, const char *line2, const char *line3, const char *line4);
    
    #define showScreenLCD(__line1,__line2,__line3,__line4); ({_showScreenLCD_P((PSTR(__line1)),(PSTR(__line2)),(PSTR(__line3)),(PSTR(__line4)));})
    c. lib
    Code:
    void initLCD(void)
    {
        delayCycles(34000);  //No need for Power ON delay as usually the
        // Bootloader should have been executed before...
        PORTG &= ~DISP_WR;
        PORTG &= ~DISP_RS_ALE;
        PORTG &= ~DISP_EN_RD;
        
        mSleep(5);
        
        writeLCDCommand(0b00101100);
        delayCycles(55500);
        mSleep(50);
        
        writeLCDCommand(0b00001001);
        delayCycles(55500);
        mSleep(5);
        
        writeLCDCommand(0b00101000);
        delayCycles(55500);
        
        mSleep(5);
        
        writeLCDCommand(0b00001000);
        delayCycles(55500);
        mSleep(1);
        
        
        writeLCDCommand(0b00000001);
        delayCycles(55500);
        mSleep(1);
        
        writeLCDCommand(0b00000010);
        delayCycles(55500);
        mSleep(1);
            
        writeLCDCommand(0b00001100);
        delayCycles(55500);
        mSleep(1);
    
        mSleep(5);
        
        clearLCD();
    }
    und
    Code:
    void _showScreenLCD_P(const char *line1, const char *line2, const char *line3, const char *line4)
    {
        clearLCD();
        writeNStringLCD_P(line1);
        setCursorPosLCD(1, 0);
        writeNStringLCD_P(line2);
        setCursorPosLCD(2, 0);
        writeNStringLCD_P(line3);
        setCursorPosLCD(3, 0);
        writeNStringLCD_P(line4);
    }
    
    /**
     * Sets the cursor position on LCD.
     */
    void setCursorPosLCD(uint8_t line, uint8_t pos)
    {
        pos |= 128;
        if(line==1) pos += 0x40;
        if(line==2) pos += 0x14;
        if(line==3) pos += 0x54;
        writeLCDCommand(pos);
    }
    was ist daran nun falsch?

    danke schonmal

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.782
    Blog-Einträge
    8
    Hallo

    Meine Anpassungen an mein 20x4-LCD:

    Code:
    // LDC 20x4
    void setCursorPosLCD_20x4(uint8_t line, uint8_t pos)
    {
    	pos |= 128;
    	if(line==1) pos += 0x40;
    	else if(line==2) pos += 20;
    	else if(line==3) pos += 0x40+20;
    	writeLCDCommand(pos);
    }
    
    void _showScreenLCD_P_20x4(const char *line1, const char *line2, const char *line3, const char *line4)
    {
    	clearLCD();
    	writeNStringLCD_P(line1);
    	setCursorPosLCD_20x4(1, 0);
    	writeNStringLCD_P(line2);
    	setCursorPosLCD_20x4(2, 0);
    	writeNStringLCD_P(line3);
    	setCursorPosLCD_20x4(3, 0);
    	writeNStringLCD_P(line4);
    }
    
    #define showScreenLCD_20x4(__line1,__line2, __line3,__line4); \
    ({_showScreenLCD_P_20x4((PSTR(__line1)),(PSTR(__line2)), (PSTR(__line3)),(PSTR(__line4)));})
    (Aus http://www.roboternetz.de/community/...l=1#post567418)



    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.01.2010
    Ort
    Bielefeld
    Beiträge
    101
    wunderbar hatte was verändert was ich garnicht musste und es geht danke!

Ähnliche Themen

  1. LCD Display 4x20 an RN-Control
    Von dwiedenmann im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 51
    Letzter Beitrag: 18.08.2009, 21:10
  2. 4x20 Display ansteuern
    Von xlanhackerx im Forum AVR Hardwarethemen
    Antworten: 11
    Letzter Beitrag: 01.03.2009, 20:53
  3. DIP LCD-Display 4x20 aus dem Shop funktioniert nicht
    Von alex007 im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 2
    Letzter Beitrag: 02.04.2007, 21:31
  4. LCD Display 4x20 an Digital Ports
    Von Reth im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 16
    Letzter Beitrag: 02.08.2006, 15:40
  5. 4x20 Display an CCM2.o
    Von nux im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 0
    Letzter Beitrag: 12.01.2006, 23:20

Berechtigungen

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