Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler beim programmieren
madcyborg
14.06.2005, 14:30
wenn ich verssuche mit bascom ein fertig compiliertes programm an meinen 8535 zu senden, gibt bascom nach dem schreiben/lesen die meldung
"error at 0041" aus.
was kann das bedeuten?
vorher habe ich mit dem selben kabel immer 2313's programmiert, das lief problemlos...ich habe in den bascom einstellungen eigentlich nichts weiter geändert, als das ich den chip auf 90s8535 umgestellt habe.
das ist bei mehreren programmierversuchen so passiert.
als programmierinterface hab ich das von www.rowalt.de,
hab grad keine ahnung wie es heist...
bertl100
14.06.2005, 14:49
Hört sich auf den ersten leser an wie eine falsche controllereinstellung.
Bascom hat den Nachteil, dass eventuell ein fehlerhafter code beim compillieren nicht angezeigt wird.
Was meinst du mit fertig compilliert?
Für jeden Controllertyp musst du ein eigenes compillat erstellen!?
Könnte auch eine Fehlerhafte Speicheradresse sein.
bertl100
14.06.2005, 14:51
Hast du auch die Geschwindigkeit angepasst???
madcyborg
14.06.2005, 15:57
hm.
also ich kann den code compilieren, das geht reibungslos, die simulation funktioniert auch genau so wie ich mir das vorstelle.
im quelltext hab ich auch auf die richtige reg-file verwiesen.
aber bei bascom selbst habe ich wie gesagt nur unter options/compiler auf 8535 umgestellt.
was für ne geschwindigkeit müsste ich denn anpassen?
und fehlerhafte speicheradresse bedeutet im controller selbst ist irgendwas hinüber? wenn ich heute noch dazu komme teste ichs mal mit nem anderen.
bertl100
14.06.2005, 16:37
1.
$regfile=".....def.dat" regfile
$crystal=........ Quarzgeschwindigkeit
$baud=9600 RS232 Speed
bertl100
14.06.2005, 16:38
Stell doch mal deinen Code hier rein
madcyborg
14.06.2005, 22:54
$regfile = "8535def.dat"
$crystal = 16000000
Ddrd = &B00000000
Ddra = &B11111111
Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portd.0 , Rs = Portd.1
Config Lcd = 20 * 4 ' Lcdconfig
Lcd "Hallo, das is der lcdtest"
Lowerline
Lcd "zweite zeile"
Thirdline
Lcd "dritte zeile"
Fourthline
Lcd "VIERTE ZEILE"
Wait 3
Config Adc = Single , Prescaler = Auto
'Now give power to the chip
Start Adc
'With STOP ADC, you can remove the power from the chip
'Stop Adc
Dim W As Word , Channel As Byte , Sinnfrei As Byte
Sinnfrei = 5
Channel = 0
'now read A/D value from channel 0
Do
W = Getadc(channel)
'Print "Channel " ; Channel ; " value " ; W
If Channel = 0 Then
Upperline
Lcd "Kanal 1:" ; W
End If
If Channel = 1 Then
Lowerline
Lcd "Kanal 2:" ; W
End If
If Channel = 2 Then
Thirdline
Lcd "Kanal 3:" ; W
End If
If Channel = 3 Then
Fourthline
Lcd "Kanal 4:" ; W
End If
Incr Channel
If Channel > 3 Then Channel = 0
Loop
--------------------------------------------------------------------------
mit rs232 hab ich nix zu schaffen-->brauch ich deshalb wohl auch nix einstellen, oder?
musste ich beim 2313 jedenfalls nicht...
bertl100
15.06.2005, 09:55
Ich würde oben noch $baud=9600 einfügen, damit der compiler weiß wie schnell die serielle Übertragung läuft.
Sieht sonst gut aus.
MFG
Vader
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.