Hallo,
Ik probeer tekst in een aray op te slaan zodat ik die op het display kan zetten
code is geschreven in basic (proton +)
Maak gebruik van de easypic5 bordje met een GLCD
de foutcode die ik krijg:
Error [line 72]: Genaral Syntax error!, dit geldt ook voor line 73 t/m 76.
DEVICE 18F452
XTAL = 8
@CONFIG_REQ
@__CONFIG CONFIG1H, OSCS_OFF_1 & HS_OSC_1
@__CONFIG CONFIG2L, BOR_ON_2 & BORV_20_2 & PWRT_ON_2
@__CONFIG CONFIG2H, WDT_OFF_2 & WDTPS_128_2
@__CONFIG CONFIG3H, CCP2MX_ON_3
@__CONFIG CONFIG4L, STVR_ON_4 & LVP_OFF_4 & DEBUG_OFF_4
;MikroElektronika EP5 GLCD Definition
Declare LCD_TYPE SAMSUNG
Declare LCD_INTERFACE 8
Declare LCD_DTPIN PORTD.0
Declare LCD_ENPIN PORTB.4
Declare LCD_RSPIN PORTB.2
Declare LCD_RWPIN PORTB.3
Declare LCD_RSTPIN PORTB.5
Declare LCD_CS1PIN PORTB.1
Declare LCD_CS2PIN PORTB.0
Declare GLCD_CS_INVERT on
;declare GLCD_STROBE_DELAY 30000
;declare GLCD_read_delay 500
High PORTB.5
;End of MikroElektronika EP5 GLCD Definition
INTERNAL_FONT = on
FONT_ADDR = 0
ALL_DIGITAL = TRUE
;logische constanten
SYMBOL AAN=0 ;geinverteerde aan - toets
SYMBOL UIT=1 ;geinverteerde uit - toets
;een toets is 'aan' als de ingang laag is.
;poortnamen
SYMBOL Op=PORTA.2 ;Menuregel omhoog
SYMBOL Neer=PORTA.3 ;Menuregel omlaag
SYMBOL OK=PORTA.4 ;Selecteer menu
;Variabele declareren
dim Lcd_Namen[6] as STRING * 50 ; hier komen de tekstdelen voor het display in
Dim XPOS As Byte ; X position of cursor
Dim YPOS As Byte ; Y position of cursor
dim menu as byte ;Deze teller kan tot max.255 tellen (BYTE = 255)
CLEAR ;Wis alle RAM geheugen
DELAYMS 500 ;LCD stabilisering
cls
;Hoofdprogramma
Main:
While 1=1
IF op = UIT THEN INC menu
If neer = UIT THEN DEC menu
;Maak een lijn op rij 13 en op rij 56 met de loop
for xpos = 2 to 126
plot 13,xpos
plot 56,xpos
next
;Maak een lijn op kolom 2 en op kolom 126 met de loop
for Ypos = 13 to 56
plot Ypos,2
plot Ypos,126
next
;INCLUDE "teksten.bas" ;Hier stond hetzelfde in als onderstande
Lcd_Namen[0] = "1"
Lcd_Namen[1] = "tekstregel 1...1.0"
Lcd_Namen[2] = "tekstregel 2...2.0"
Lcd_Namen[3] = "tekstregel 3...3.0"
Lcd_Namen[4] = "tekstregel 4...4.0"
Lcd_Namen[5] = "tekstregel 5...5.0"
Lcd_Namen[6] = 0
print at 0,0,inverse 1, Lcd_Namen[0]
Select case Menu
Case 0
print at 2,1,inverse 0, "*", Lcd_Namen[1]
print at 3,1, " ",Lcd_Namen[2]
print at 4,1, " ",Lcd_Namen[3]
print at 5,1, " ",Lcd_Namen[4]
print at 6,1, " ",Lcd_Namen[5]
;PRINT AT 4,1, REP 255\ 16
Case 1
print at 2,1,inverse 0, " ",Lcd_Namen[1]
print at 3,1, "*",Lcd_Namen[2]
print at 4,1, " ",Lcd_Namen[3]
print at 5,1, " ",Lcd_Namen[4]
print at 6,1, " ",Lcd_Namen[5]
Case 2
print at 2,1,inverse 0, " ",Lcd_Namen[1]
print at 3,1, " ",Lcd_Namen[2]
print at 4,1, "*",Lcd_Namen[3]
print at 5,1, " ",Lcd_Namen[4]
print at 6,1, " ",Lcd_Namen[5]
Case 3
print at 2,1,inverse 0, " ",Lcd_Namen[1]
print at 3,1, " ",Lcd_Namen[2]
print at 4,1, " ",Lcd_Namen[3]
print at 5,1, "*",Lcd_Namen[4]
print at 6,1, " ",Lcd_Namen[5]
Case 4
print at 2,1,inverse 0, " ",Lcd_Namen[1]
print at 3,1, " ",Lcd_Namen[2]
print at 4,1, " ",Lcd_Namen[3]
print at 5,1, " ",Lcd_Namen[4]
print at 6,1, "*",Lcd_Namen[5]
Case Else
End Select
;scan bits 2,3,4 en wacht totdat een toets opnieuw gedrukt wordt
while (porta&28)<28 : wend
delayms 20
while (porta&28)=28 : wend
wend
return
include "font.inc"
dit zijn de desbetreffende code liné's waar de foutmelding op slaat:
Lcd_Namen[0] = "1"
Lcd_Namen[1] = "tekstregel 1...1.0"
Lcd_Namen[2] = "tekstregel 2...2.0"
Lcd_Namen[3] = "tekstregel 3...3.0"
Lcd_Namen[4] = "tekstregel 4...4.0"
Lcd_Namen[5] = "tekstregel 5...5.0"
Lcd_Namen[6] = 0
Wie kan me op weg helpen?
*Edit:
als ik i.p.v. tekst er 1 cijfer neer zet dan gaat het wel goed. Maar ja ik wil graag tekst he 