Hallo zusammen!
Ich bin ein Anfänger... Mit dem Pic 12F628A und mit dem 16F629 komme ich
zurecht und kann auch kleinere Programme schreiben.
Nun habe ich mich mal an den PIC16F1518 gewagt, mit dem Hintergrund
diesen später mit C zu programmieren.
Aber zuerst wollte ich den mit Assembler in Betrieb nehmen.
Nur dieses Teil will einfach nicht starten.
Ich habe diesen auf einer kleinen SMD Platine mit einem 20MHz Quarz
verbaut. Die SMD Kondensatoren am Quarz haben 22pF.
Nun dachte ich, vielleicht klappts ja mit dem internen Oszillator,
allerdings bin ich auch da gescheitert.
Der PIC wird über eine ICSP-Leitung von dem Brenner 8 r5 von Sprut
beschrieben. Wird ordnungsgemäß erkannt und gebrannt.
Aber startet nicht.
Nun muss ich dazusagen, dass der PIC kurzzeitig einmal eine
Versorgungsspannung von 7,49 Volt hatte, weil ich den Spannungsregler
dummerweise überbrückt hatte.
Kann man einen defekten PIC noch brennen?
Vielleicht kann ja einer mal über meinen Source-Code schauen, ob ich
einen grundlegenden Denkfehler gemacht habe. Ich weiß nicht mehr
weiter...
Dafür schonmal vielen Dank im voraus!
Hallo,
nach der Startadresse 0 springst du zuerst nach main, von main zu init
(immer diese doofe Hüpferei) und dann verläßt du init mit dem
return-Befehl!
Wohin soll der zurückkehren; du hast kein Unterprogramm aufgerufen.
Lösche erst mal den goto main Befehl und lasse das Programm bei Init
starten. Lösche den return und den goto init Schmarrn.
Gewöhne dir an, weniger goto-Befehle zu "verbauen", verschlechtert die
Lesbarkeit des Programms.
Es ist schwer zu sagen, ob der PIC die 7,5V überlebt hat. Da sie ja
recht robust sind, besteht Hoffnung.
Super! Vielen vielen Dank!
Das "return" war natürlich der Fehler. Wie dämlich von mir.
Nun habe ich aufgeräumt im Quelltext und auch die Sprünge rausgeworfen.
Der PIC hat die Tortur überlebt und gibt nun das Gewünschte aus.
So ist das, wenn man anfängt, das Offensichtlichste übersieht man.