Schwer was zu sagen: select all & copy & paste und compiliert, und keine Fehler
Was zur hölle ist mit diesem compiler los
einen code den ich gestern noch fehlerlos compilen könnte geht heut nicht mehr
könnts ihr mal testen
die fehlermeldungen hab ich als kommentar in den code eingefügt
Code:Dim Zeichen As Byte Declare Sub Lcdwrite(byval Zeichen As Byte) 'funktion zum senden an das display 'Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.1 , Rs = Porta.0 Initlcd Call Lcdwrite(&B00101100) 'aufruf zum initialisieren Waitms 5 'des display controllers Call Lcdwrite(&B00001001) Waitms 5 Call Lcdwrite(&B00101000) Waitms 5 Call Lcdwrite(&B00000110) Waitms 5 Call Lcdwrite(&B00001100) Waitms 5 Config Lcd = 20 * 4a 'display als 20 zeichen mal 4 zeilen Do Wait 1 Cls Upperline Lcd "11111111111111111111" Lowerline Lcd "22222222222222222222" Thirdline Lcd "33333333333333333333" Fourthline Lcd "44444444444444444444" Loop Sub Lcdwrite(byval Zeichen As Byte) ' Höherwertiges Nibble setzen If Zeichen.4 = 1 Then Porta.4 = 1 Else Porta.4 = 0 'error 31 invalid datatype (0) If Zeichen.5 = 1 Then Porta.5 = 1 Else Porta.5 = 0 'error 31 invalid datatype (0) If Zeichen.6 = 1 Then Porta.6 = 1 Else Porta.6 = 0 'error 31 invalid datatype (0) If Zeichen.7 = 1 Then Porta.7 = 1 Else Porta.7 = 0 'error 31 invalid datatype (0) Porta.1 = 1 'enable auf 1 Waitms 5 Porta.1 = 0 'enable auf 0 Waitms 5 ' Niederwertiges Nibble setzen If Zeichen.0 = 1 Then Porta.4 = 1 Else Porta.4 = 0 If Zeichen.1 = 1 Then Porta.5 = 1 Else Porta.5 = 0 If Zeichen.2 = 1 Then Porta.6 = 1 Else Porta.6 = 0 If Zeichen.3 = 1 Then Porta.7 = 1 Else Porta.7 = 0 ' Niederwertiges Nibble übertragen Porta.1 = 1 Waitms 5 Porta.1 = 0 Waitms 5 'error 229 line 0 end sub or end function expected End Sub End
Schwer was zu sagen: select all & copy & paste und compiliert, und keine Fehler
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
ich hab Bascom mehrfach deinstalliert und installiert registry gelöscht
alle updates und die demo getestet
hab ständig fehlermeldungen in den einfachsten codes
und das für 100 euro na vielen dank
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Hi,
na, wirst Du wohl aufhören, hier meinen Lieblingscompiler madig zu machen... [-X
Ich habe bei Deinem Code identische Fehlermeldungen.
Auf den ersten Blick würde ich sagen, der Code passt nicht zum in den "Options" eingestellten Chip.
Ich würd´s gern gegentesten, aber Du gibst ja Deinen Prozessor nicht an.
Um solche Fehler grundsätzlich zu vermeiden, solltest Du es Dir angewöhnen, die Compiler-Direktiven in den Code zu schreiben, hier ein Beispiel für den Mega 8:
'Definition für Mega 8
$regfile "m8def.dat"
'Angabe der Taktfrequenz (4Mhz)
$crystal = 4000000
Und immer dran denken:
Die fettesten Bugs sitzen meist zwischen den eigenen Ohren...
Viele Grüße
Torsten
Hi,
welchen Controller benutzt du denn ?
Ich hab' die gleichen Probleme, wenn ich den 2313 oder 2323 auswähle.
Beim Tiny 2313 geht es dann wieder.
Bei anderen Chips geht es ebenfalls problemlos.
Übrigens, wo gibt's denn Bascom für 100 Euro ???
Kostet doch nur 78 ?
Gruß
Christopher
da hast du wohl recht ...
aber ich hab das problem jetzt einkreisen können es liegt wohl an dem update das ich gemacht hab
habs alte orginal (xx.12) aufm laptop mal installiert da hab ich die fehler nicht
und beim neuen (xx.18.2) hab ich wenn ich nen den code fürn mega 16 compile keinen fehler
aber wenn ich den fürn tiny26 compile kommt immer die meldung
"baudrate not possible"
was soll das ich hab gar nix mit baudrate eingestellt
hier mein geänderter code mit crystal und def
wenn ich $baud verwende krieg ich gleich noch ne fehlermeldung
Code:$crystal = 8000000 $regfile = "at26def.dat" Dim Zahler As Byte Dim Richtung As Bit Richtung = 1 Dim Zeichen As Byte Declare Sub Zumdisplay(byval Zeichen As Byte) 'funktion zum senden an das display Db4dis Alias Porta.4 Db5dis Alias Porta.5 Db6dis Alias Porta.6 Db7dis Alias Porta.7 Rsdis Alias Porta.0 Enabledis Alias Porta.2 Config Lcdpin = Pin , Db4 = Db4dis , Db5 = Db5dis , Db6 = Db6dis , Db7 = Db7dis , E = Enabledis , Rs = Rsdis Initlcd Call Zumdisplay(&B00101100) 'aufruf zum initialisieren Waitms 5 'des display controllers Call Zumdisplay(&B00001001) Waitms 5 Call Zumdisplay(&B00101000) Waitms 5 Call Zumdisplay(&B00000110) Waitms 5 Call Zumdisplay(&B00001100) Waitms 5 Config Lcd = 20 * 4a 'display als 20 zeichen mal 4 zeilen Do If Richtung = 1 Then Incr Zahler Else Decr Zahler If Zahler = 255 Then Richtung = 0 If Zahler = 0 Then Richtung = 1 Waitms 500 Cls Upperline Lcd Zahler Loop End Sub Zumdisplay(byval Zeichen As Byte) ' Höherwertiges Nibble setzen If Zeichen.4 = 1 Then Set Db4dis Else Reset Db4dis If Zeichen.5 = 1 Then Set Db5dis Else Reset Db5dis If Zeichen.6 = 1 Then Set Db6dis Else Reset Db6dis If Zeichen.7 = 1 Then Set Db7dis Else Reset Db7dis ' höherwertiges nibble übertragen Set Enabledis Waitms 5 Reset Enabledis Waitms 5 ' Niederwertiges Nibble setzen If Zeichen.0 = 1 Then Set Db4dis Else Reset Db4dis If Zeichen.1 = 1 Then Set Db5dis Else Reset Db5dis If Zeichen.2 = 1 Then Set Db6dis Else Reset Db6dis If Zeichen.3 = 1 Then Set Db7dis Else Reset Db7dis ' Niederwertiges Nibble übertragen Set Enabledis Waitms 5 Reset Enabledis Waitms 5 End Sub
Hi,
das ist ja echt lustig mit der Baudrate.
Da meckert Bascom bei einigen Chips, obwohl gar nix im Code steht (leeres File, oder nur Kommentare) bei anderen Chips geht's.
Gruß
Christopher
mag sein das es für dich lustig ist ...
das problem ist das ich nicht clever genug bin ne lösung zu finden
also was soll man da machen
Wo liegt der Fehler bei mir oder beim ach so tollen compiler ??
Hi,
Eventuell hat Bascom beim letzten Update irgendwelche Bugs bekommen.
Da hilft zum endgültigen klären wohl nur eine Anfrage / Bugreport an mcselec.
Mark kümmert sich meistens SEHR schnell um solche Sachen.
Ein großer Vorteil meines Lieblingscompilers.
Gruß
Christopher
Lesezeichen