- fchao-Sinus-Wechselrichter AliExpress         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 30 von 30

Thema: 27*4 Wintek will nicht

  1. #21
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    31.01.2004
    Beiträge
    585
    Anzeige

    Praxistest und DIY Projekte
    Ok vergessen wir diese Verwirrung

    Nun, ich bin etwas weiter gekommen, es werden schon alle 4 Zeilen initialisiert, diese "leuchten" nach ablauf des Programmes, es wird aber keine Schrift angezeigt?

    Hier der neue Code:
    Code:
    $regfile = "m8def.dat"
    $crystal = 4000000
    
    Config Lcdpin = Pin , E2 = Portd.6
    Config Portb = Output
    Dim ___lcdno As Bit
    
    Portb.5 = 0
    
    ___lcdno = 0
    Initlcd
    Cls
    ___lcdno = 1
    Initlcd
    Cls
    
    ___lcdno = 0
    Locate 1 , 1
    Lcd "1. Die erste Zeile"
    Locate 2 , 1
    Lcd "2. Die zweite Zeile"
    Cursor Off
    
    ___lcdno = 1
    Locate 1 , 1
    Lcd "3. Die dritte Zeile"
    Locate 2 , 1
    Lcd "4. Die vierte Zeile"
    Cursor Off
    
    Portb.5 = 1
    
    End
    Portb.5 ist mit einer LED verbunden, und diese Leuchet nach wenigen Sekunden auf. Programm ist also durchgelaufen..

    Was könnte da nicht stimmen?
    MfG

    EDIT:
    Muss ich vielleicht sogar die LCD-Adress und RS-Adress in den Compiler-Optionen ändern?

  2. #22
    Benutzer Stammmitglied
    Registriert seit
    09.05.2005
    Beiträge
    35
    Hallo,
    du configurierst garnicht das Display mit "Config Lcd= 40*4" , Bascom kann keine 24*4 aber 40*4 geht ja auch, kannst halt nur 24 Zeichen statt 40 schreiben.Am besten schreibst du die ganzen Pins einfach in den Programmcode, das is übersichtlicher als in den Compilersettings und weniger fehleranfällig. Pass mal den folgenden Code an deine Hardware an und mach den drauf, dann siehste ja obs an der Hord- oder der Software liegt:

    Code:
    $regfile = "m8def.dat"
    $crystal = 8000000
    
    Config Lcd = 40 * 4
    Config Lcdpin = Pin , Rs = Portb.6 , Db4 = Portb.7 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portb.1 , E2 = Portb.2
    
    
    Dim ___lcdno As Bit
    
    ___lcdno = 0
      Initlcd
      Cursor Off
      Cls
    
    ___lcdno = 1
     Initlcd
     Cursor Off
     Cls
    
    Do
    
    ___lcdno = 0
    
     Upperline
      Lcd "Zeile 1"
     Lowerline
      Lcd "Zeile 2"
    
    ___lcdno = 1
    
     Upperline
      Lcd "Zeile 3"
     Lowerline
      Lcd "Zeile 4"
    
    Waitms 1000
    
    Loop
    Gruß
    Florian

  3. #23
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    31.01.2004
    Beiträge
    585
    Ok das probiere ich jetzt aus, schreibe dann, was passiert ist.

  4. #24
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    31.01.2004
    Beiträge
    585
    Ehm.. portb.6 und portb.7 sind die Oszillator-Eingänge...

    Da sollte ich besser nicht RS und Db4 anschließen??

  5. #25
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    31.01.2004
    Beiträge
    585
    Also gut, habe die Ports selber angepasst, und siehe da, es funktioniert...

    Woran es auch immer gelegen hat, danke an alle!

    Warum ich nur für die einfachsten Dinge so lang brauche.. (

  6. #26
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    06.08.2005
    Ort
    Berlin
    Alter
    58
    Beiträge
    239
    Hallo Florian,

    mein Reden
    Ich verstehe auch nicht, warum nicht einfach ein definitiv funktionierender Codeschnippsel benutzt wird (siehe rn-mega. Optimieren und/oder die Compilersettings anpassen kann man später immer noch.
    Erst wird geschaut, ob etwas überhaupt funktioniert, dann wird daraus gelernt und optimiert. Auf alle Fälle ist es sinnvoll, alle Einstellungen auf einen Blick (im Programm) zu haben. Mir ist so, als ob man in Bascom Compilersettings und Programmsettings nicht mischen sollte. Also entweder alles über die Settings oder das Programm. Bin mir aber nicht sicher. Eventuell liegt da ja hier das Problem.

    Gruß Dirk

  7. #27
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    31.01.2004
    Beiträge
    585
    Hallo!

    Jo, ich hatte schon von Anfang an einen definitiv funktionierenden Code. (Aus der Forumsuche)
    Aber es hat sich dann nichts am LCD getan, dann dachte ich es sei der Code.

    Mittlerweile schwöre ich auf Softwareseitige definitionen =)

    MfG,
    ShadowPhoenix

  8. #28
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Mittlerweile schwöre ich auf Softwareseitige definitionen =)
    Was ja auch den Vorteil hat, das alles was von haben! Was bringt mir ein Programm, was ich auch nutzen möchte, was aber nicht läuft, weil der Stack immer überläuft weil niemand im Code vermerkt hat.

  9. #29
    Neuer Benutzer Öfters hier
    Registriert seit
    13.09.2005
    Alter
    47
    Beiträge
    15
    köntest du vieleicht noch mal den Code Posten so zum abschluss?
    Das mit dem Stack ist sehr einleuchtend, nur weis ich noch nicht wirklich wofür der da ist -funktion , deshalb schreib ich da auch nichts hin ?!?
    MfG MaselX

  10. #30
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    31.01.2004
    Beiträge
    585
    Habs jetzt nicht getestet (Alter Code verschmissen), aber sollte hinkommen:

    Code:
    $regfile = "m8def.dat"
    $crystal = 4000000
    
    Config Lcd = 40 * 4
    Config Lcdpin = Pin , Rs = Portd.2 , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portd.3 , E2 = Portd.4
    
    Dim ___lcdno As Bit
    Dim Cvar As Integer
    Cvar = 10
    
    ___lcdno = 0
      Initlcd
      Cursor Off
      Cls
    ___lcdno = 1
     Initlcd
     Cursor Off
     Cls
    
    Do
    ___lcdno = 0
    Upperline
    Lcd Cvar
    Waitms 1000
    Decr Cvar
    Cls
    Loop
    Zählt von 10 ab runter.
    MfG,
    ShadowPhoenix

Seite 3 von 3 ErsteErste 123

Berechtigungen

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

LiFePO4 Speicher Test