- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14

Thema: Programmierungsproblem mit dem I²C-BUS LC-DISPLAY C-CONTROL

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    10.05.2009
    Beiträge
    5
    Anzeige

    E-Bike
    Hi,

    Hast Du die obigen Schaltpläne angesehen?
    Ich hab mir die Schaltpläne angeschaut und habe gesehen, dass P4 und P5 vertauscht sind (habe ich ja geändert) und dass an P7 E ist im Gegensatz zum Conrad Display, wo P7 das Backlight regelt und an P6 E ist. Aus Verzweiflung würde ich das auch noch vertauschen ...

    Der Code, den Mat-sche verlinkt hat funktioniert.
    Ich benutze ja diesen Code nur angepasst an einen Quarz mit 16MHz und ohne Keyboard. Weil ich mir aber nicht sicher mit der Umschreibung war, habe ich ihn ganz am Anfang gepostet.

    Gruß,
    Markus

  2. #12
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    21.09.2004
    Beiträge
    264
    Ich benutze den Beispielcode ohne Änderungen an einem RN-Mega2560.

    Ich würde das Conrad-Modul nicht weiter vergewaltigen. Ein PCF8574, ein Sockel, ein Stück Platine und ein bischen Kabel und du hast den passenden Adapter hergestellt. Die LCD bis 4x20 gibt es doch für ganz kleines Geld zu kaufen.

    mfg

    Stefan

  3. #13
    Neuer Benutzer Öfters hier
    Registriert seit
    10.05.2009
    Beiträge
    5
    Das wundert mich.

    Muss man nicht auf jeden Fall noch $regfile mit seinem Displaynamen reinschreiben?
    Außerdem müsstest du ja den Code mit dem Keyboard rauslöschen, sofern du keins benützt.

    Und noch ein Problem, das ich habe, ist das crystal auf ein 8MHz eingestellt ist und ich ein 16MHz Quarz benutze, dass allein wäre nicht alzu schwerwiegen; doch muss ich dann auch das Delay ändern und / oder alle Wartezeiten ? Ich kenne mich halt leider überhaupt nicht mit asm aus ...

    Gruß,
    Markus

  4. #14
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    21.09.2004
    Beiträge
    264
    Ja natürlich, das regfile muss rein. Hier mein I2C_LCD_Testcode:


    Code:
    $regfile = "m2560def.dat"
    $hwstack = 82                                               '80
    $framesize = 68                                             '64
    $swstack = 68                                               '44
    $crystal = 16000000                                         'Quarzfrequenz
    $baud = 9600
    
    $lib "Lcd_i2c.lib"                                          'My I2C driver for the LCD
    
    Config I2cdelay = 1
    Const Pcf8574_lcd = 64                                      'Defines the address of the I/O expander for LCD
    
    'Config Portd.0 = Input
    'Config Portd.1 = Input
    
    'Portd.0 = 1
    'Portd.1 = 1
    
    Config Scl = Portd.0                                        'Configure I2C SCL
    Config Sda = Portd.1                                        'Configure I2C SDA
    
    Dim _lcd_e As Byte                                          'Needed to control 4 line LCD
    Enable Interrupts
    
    '_lcd_e = 128 select E1, 64 select E2, 192 select both (for CLS or DefLCDChar etc.)
    _lcd_e = 128                                                'Upper half of 4-line display is selected
    
    
    
    
    Dim A As Byte
    Config Lcd = 20 * 4                                         'configure lcd screen
    
    Start:
    Cls                                                         'clear the LCD display
    Lcd "1. Zeile"                                              'display this at the top line
    Wait 2
    Lowerline                                                   'select the lower line
    Wait 1
    Lcd "2. Zeile"                                              'display this at the lower line
    Wait 2
    
    Upperline
    Locate 1 , 21                                               'set cursor position    to 3. zeile, 1. Zeichen
    Lcd "3. Zeile"                                              'display this
    Wait 2                                                      'wait a moment
    
    Lowerline
    Locate 2 , 21                                               'set cursor position    to 3. zeile, 1. Zeichen
    Lcd "4. Zeile"                                              'display this
    Wait 2                                                      'wait a moment
    
    
    Goto Start
    
    End
    mfg

    Stefan

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

12V Akku bauen