PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler beim programmieren



madcyborg
14.06.2005, 13: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, 13: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, 13:51
Hast du auch die Geschwindigkeit angepasst???

madcyborg
14.06.2005, 14: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, 15:37
1.

$regfile=".....def.dat" regfile
$crystal=........ Quarzgeschwindigkeit
$baud=9600 RS232 Speed

bertl100
14.06.2005, 15:38
Stell doch mal deinen Code hier rein

madcyborg
14.06.2005, 21: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, 08: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