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
Lesezeichen