- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 5 von 5

Thema: LCD programmierung funzt nicht!!

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.01.2010
    Ort
    Deutschland
    Beiträge
    739

    LCD programmierung funzt nicht!!

    Anzeige

    E-Bike
    Hallo Community,
    Ich wollte mal eine Stopuhr programmieren(Ich programmiere in Basic!!) und da Ich auch einen kleinen LCD für meien Bot besitze dachte ich mir das das doch mal ganz lustig wäre.
    Aus Testgründen habe Ich mich zuerst darann gemacht, dass die Zeit in der MsgBox angezeigt wird.
    Hier der Code:
    Code:
    Dim zahl As Integer
    Dim zahl2 As Integer
    
    Sub main()
        PRO_BOT128_INIT()
    
        Do While True
            Msg_WriteWord(zahl++)
            Msg_WriteChar(10)
            Msg_WriteChar(13)
    
            Msg_WriteWord(zahl2)
            Msg_WriteChar(10)
            Msg_WriteChar(13)
    
            AbsDelay(250)
    
            If zahl = 60 Then
                zahl = 0
                Msg_WriteWord(zahl2++)
                Msg_WriteChar(10)
                Msg_WriteChar(13)
            End If
        End While
    End Sub
    Hier läuft die "zahl" immer einen weiter und bei 60 geht sie auf Null zurück und die "zahl2" geht einen hoch, Und immer so weiter.Das funktioniert auch wunderbar!!

    Jetzt wollte ich das ja aber auf dem LCD haben. Da zu habe ich disen Code geschrieben:
    Code:
    #define I2C_LCD_ADDR &H40
    Dim LCD_TXT(22) As Char
    Dim zahl As Integer
    Dim zahl2 As Integer
    
    Sub main()
        PRO_BOT128_INIT()
        I2C_LCD_INIT()
    
        Do While True
            I2C_LCD_CLR()
            I2C_LCD_LOCATE(1,3)
            BLINK_ON()
            LCD_TXT= zahl++
            I2C_LCD_WRITE_TEXT(LCD_TXT)
            BLINK_OFF()
    
            I2C_LCD_CLR()
            I2C_LCD_LOCATE(1,5)
            BLINK_ON()
            LCD_TXT= zahl2
            I2C_LCD_WRITE_TEXT(LCD_TXT)
            BLINK_OFF()
    
            AbsDelay(1000)
    
            If zahl = 60 Then
                zahl = 0
                I2C_LCD_CLR()
                I2C_LCD_LOCATE(1,5)
                BLINK_ON()
                LCD_TXT= zahl2++
                I2C_LCD_WRITE_TEXT(LCD_TXT)
                BLINK_OFF()
            End If
        End While
    End Sub
    Jetzt bekomme Ich aber immer die Meldung:"Array Varible LCD_TXT muß 1 indizes haben."

    Wie kann Ich das noch Realisieren??
    Hat da jemand eine Idee??

    Mfg
    bnitram

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.01.2010
    Ort
    Deutschland
    Beiträge
    739
    Hat denn keiner eine Idee??

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Zitat Zitat von bnitram
    Hat denn keiner eine Idee??
    Du bist halt hier im Bascom Forum und dein Code ist nun mal kein Bascom sondern ein anderer Basic Dialekt.

    Was wohl angemeckert wird, ist dass du ein Char Array deklarierst
    Dim LCD_TXT(22) As Char
    und dann diesem eine Zahl zuweist
    LCD_TXT= zahl++
    ohne ein bestimmtes Array-Element anzugeben.

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.01.2010
    Ort
    Deutschland
    Beiträge
    739
    Und weißt du auch wie ich das nun machen kann??
    Was muss Ich denn noch angeben??

    Aber Danke für deine Antwort!!

    Mfg
    bnitram

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.01.2010
    Ort
    Deutschland
    Beiträge
    739
    Edit:
    Ich meine ja das das erste Prgramm super funktioniert, aber das mit dem LCD nicht!!!
    Wie bekomme Ich das hin das er mir den Wert(die Zahl) anzeigt??

    Mfg
    bnitram

Berechtigungen

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

Labornetzteil AliExpress