-         

Ergebnis 1 bis 4 von 4

Thema: Grafik LCD über rs232 ansteuern

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    43
    Beiträge
    379

    Grafik LCD über rs232 ansteuern

    Anzeige

    Hallo und nen schönen Abend,

    auf meinem Board habe ich das Problem, dass ich zu wenige Pins zur Verfügung habe, um ein GLCD anzusteuern.
    Nun habe ich auf dem selben Board noch einen ungenutzten M8 Sockel.
    Meine Idee ist nun die beide Megas über RS232 zu verbinden. Der M8 soll dann das GLCD bedienen. Der andere Mega soll mit den gängigen Befehlen für ein GLCD in Form: "print "lcdat 1 , 2 , abcd"" die infos dann auf dem Display ausgeben.

    Hat jemand schon das gemacht und evtl. Beispiele. Oder kann mir einen Tip geben, wo ich anfangen kann???

    Grüße MAT

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Wo hakt es denn? Kommunikation per UART?
    Einfach mit Print "1Hallo" senden
    und mit if charwaiting auf dem Anderen empfangen.
    Wobei die 1 in diesem Falle die Zeile wäre. Könntest natürlich auch noch die Spalte mit übertragen:
    Print chr$(Zeile) + chr$(Spalte) + Text. Wobei es dann bei Spalte 10 oder 13 zu Konflikten kommen könnte.
    Ich löse das immer, indem ich das 7.Bit mit setze. (128 dazu addieren)
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Der Sender könnte so aussehen (aus dem Kopf, Fehler also nicht ausgeschlossen)

    Code:
    dim b as byte
    declare function lcdsenden(byval lcdzeile as byte, byval lcdspalte as byte, byval lcdtext as string *20) as byte
    ...
    ...
    do
    ...
    ...
    if lcdsenden(1,1,"Hallo")<>1 then
       b= lcdsenden(6,0,"1")   'fehler abfangen
       
    endif
    
    loop
    end
    
    function lcdsenden(byval lcdzeile as byte, byval lcdspalte as byte, byval lcdtext as string *20) as byte
    dim b as byte
    set zeile.7
    set spalte.7
    print lcdzeile + lcdspalte+lcdtext
    waitms 100'evtl erhöhen, wenn keine 1 kommt.
    lcdsenden=waitkey()
    
    end function







    Der Empfänger könnte so aussehen (aus dem Kopf, Fehler also nicht ausgeschlossen)

    Code:
    dim b as byte
    dim lang as byte
    dim sEingang as string *22 at &h60
    dim Zeile(2) as byte at &h60 overlay
    dim stext as string*20 at &h62 overlay
    
    ...
    .
    .
    do
    
    if ischarwaiting() then gosub Empfangen
    
    loop
    end
    
    Empfangen:
    b=waitkey()
    if b > 12 then
        if b=13  then
          if zeile(1) > 128 and zeile(2)> 128 and lang>2 then
              reset zeile(1).7
              reset zeile(2).7
              if zeile< 5 and spalte<20 then
                    locate zeile(1),zeile(2)
                    lcd stext
               else
                   if zeile=10 then reset led 'Paar Steuerungsmöglichkeiten durch definierte Zeilennummern...
                   if zeile=11 then set led           
                   if zeile=88 cls
                    . 
                    .
                   
               print "1";'Alles klar senden
              lang=0
              seingang=""
          else
              print "2"; 'Fehler senden
              lang=0
              seingang=""
         endif
       else
          seingang=seingang + chr(b)
          incr lang 
          if lang>22 then
              print"2";
              seingang=""
              lang=0
          endif
     endif
    endif
    return
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    43
    Beiträge
    379
    He Peterfido!

    Danke für Deinen ersten Entwurf!
    Und tatsächlich habe ich noch einige Schwachstellen zur seriellen Kommunikation.
    Ich werde mir Deinen Vorschlag mal durchschauen und dann mich melden.

    Schöne Ostern noch!

    MAT

Berechtigungen

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