Hallo
Ich arbeite gerade an einem Code um mein LCD (EADIP204) mit einem KS0073 Chip (von Robotikhardware) anzusteuern.
Meinen Code hab ich mir aus einigen Codeschnippseln (auch hier im Forum) zusammegebastelt, bis jetzt sieht das Programm folgendermaßen aus.
Wenn ich den Code kompilieren will sagt mir Bascom jedoch folgendesCode:'*****LCD***** 'PB3 - E 'PB4 - RS 'PD2 - PIN11 - D4 'PD3 - PIN12 - D5 'PD4 - PIN13 - D6 'PD5 - PIN14 - D7 '************** $regfile = "m32def.dat" 'ATmega32 $crystal = 11059200 'Quarz: 11059200 Hz Declare Sub Lcdwrite Dim Zeichen As Byte Ddra = &B00000000 Ddrb = &B00000000 Ddrc = &B00000000 Ddrd = &B00000000 Porta = &B00011111 Portb = &B00000111 Portc = &B11111100 Portd = &B00000000 'Pins des LCD-Modules Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portb.3 , Rs = Portb.4 Initlcd Config Lcd = 20 * 4a 'Config Lcdbus = 4 Call Lcdwrite(&B00101100) Waitms 5 Call Lcdwrite(&B00001001) Waitms 5 Call Lcdwrite(&B00101000) Waitms 5 Call Lcdwrite(&B00000110) Waitms 5 Call Lcdwrite(&B00001100) Waitms 5 Do Locate 1 , 1 'Spalte 1 und Zeile 1 des Displays Lcd "Hallo" 'Displayausgabe Waitms 50 '50 Millisekunden Warten um Flimmern zu vermeiden Cls 'Display löschen Loop 'Schreibt die Initialisierungs - Bits zum LCD Sub Lcdwrite ' Höherwertiges Nibble setzen If Zeichen.4 = 1 Then Portd.2 = 1 Else Portd.2 = 0 If Zeichen.5 = 1 Then Portd.3 = 1 Else Portd.3 = 0 If Zeichen.6 = 1 Then Portd.4 = 1 Else Portd.4 = 0 If Zeichen.7 = 1 Then Portd.5 = 1 Else Portd.5 = 0 ' Höherwertiges Nibble übertragen Portb.3 = 1 Waitms 1 Portb.3 = 0 Waitms 1 ' Niederwertiges Nibble setzen If Zeichen.0 = 1 Then Portd.2 = 1 Else Portd.2 = 0 If Zeichen.1 = 1 Then Portd.3 = 1 Else Portd.3 = 0 If Zeichen.2 = 1 Then Portd.4 = 1 Else Portd.4 = 0 If Zeichen.3 = 1 Then Portd.5 = 1 Else Portd.5 = 0 ' Niederwertiges Nibble übertragen Portb.3 = 1 Waitms 1 Portb.3 = 0 Waitms 1 End Sub End
"Error 130 Line 56 [u.a.] Incorrect number of parameter....usw."
Line 56,.... bezieht sich auf die Zeilen
Call Lcdwrite(&B00101100)
...
Call Lcdwrite(&B00001001)
....
usw
Nur ich finde den Fehler nicht, was ist daran genau falsch?







Zitieren

Lesezeichen