Hallo! Bin ein absoluter Neuling betreffend PIC und Programmierung - komme aus dem Eck der Modelleisenbahn. Es gibt viele Schaltungen zum selberbauen, viele mit einem PIC Microcontroller. Nun habe ich mir ein Programmiergerät zugelegt (Velleman P8076'1) und versuche ein Hex-File in einen PIC16F628A zu bekommen. Alles sieht gut aus (Pic wird erkannt) ich kann das Schreiben starten aber es endet am Schluß immer mit einem Schreibfehler. Meine Frage bei der die Profis lächeln: Ich habe hier den Pic16F628A zum porogrammieren, die Schaltung und das Programm beziehen sich auf einen Pic16F628. Macht das vielleicht das Problem? Danke und Bitte nicht zu viel lachen. Mit freundlichen Grüßen, Gauner1110
Und wie lautet der Fehler genau? 16F628 und 16F628A sind Pin- und Codecompatibel. Aber eventuell muss dein Programmiergerät den verwendeten Typ wissen (ich weiss gerade nicht, ob sich da was unterscheidet)
Hallo! Das Programmiergerät unterscheidet zwischen 628 und 628A bei den Einstellungen. Die Fehlermeldung lautet einfach "Write error". Aber wenn die beiden so kompatibel sind werde ich mal den 628 einstellen am Gerät anstatt dem 628A. Danke schon mal. Mit freundlichen Grüßen Gauner1110
Wie gesagt, am Programmiergerät muss der Typ eingestellt werden, den du verwendest! Hier könnten sich Programmierspannungen und -timings zwischen den Typen unterscheiden.
Hab mal den Versuch gemacht, das Programiergerät beschwert sich aber über den Unterschied. Gauner1110
Was für ein externes Netzteil verwendest du denn? Hängt der Progger vielleicht an einem USB-RS232-Wandler? Gruss Digger
Also der Progger hat eine externe 15V DC Versorgung (sind wirklich 15V-gemessen und richtig gepolt) und mein Laptop hat eine echte RS232 Schnittstelle. Werds morgen aber mal am PC versuchen. Grüße, Gauner1110
Hallo! Also Test an einem PC ergab das selbe Problem: Error to write Data to Pic! Ich bin mit meinem Latein am Ende! Grüße, Gauner1110
Ich möchte auch mal kurz meinen Senf dazu geben. Also die Typen 16F628 und 16F628A UNTERSCHEIDEN sich im Programmieralgorythmus! Wenn Du eine A-Typ hast, dann bitte unbedingt auch den A-Typ beim Programmiergerät vorgeben. Dann sollte IMMER VOR den Programmieren ein ERASE FLASH DEVICE durchgeführt werden und anschliessend ein BLANK CHECK durchgeführt werden (sofern das mit dem Programmer geht?!?) Wenn die FUSES so gesetzt sind, dass CODE PROTECTION auf ON oder ALL steht, kann es sein, dass der Chip nicht mehr mag (sprich sich programmieren läßt) wenn zuvor nicht ein ERASE durchgeführt wurde. Ich spreche hier aus eigener Erfahrung!!! Also - wenn nach einem ERASE der BLANK CHECK sagt, dass der Chip NICHT LEER ist, dann gleich in die Tonne treten! Alles andere ist vergebliche Mühe und Zeit! Wenn der Chip in der Schaltung programmiert werden soll, dann muss PORTB,4 auf L liegen! Andernfalls gibts auch mal gerne Probleme beim Programmieren. Gruß TK
Danke für die Tipps - doch leider. Der Pic-Typ stimmt überein, habe ih jetzt gelöscht und danach ausgelesen - ist leer. Aber beim Programmieren sagt das Programm am Schluß leider "Error to write Data to Pic!" Grüße, Gauner1110
Was passiert denn, wenn Du nach dem Programmieren (was ja offensichtilich Probleme bereitet) einfach mal den Inhalt des Chips ausliest? Evtl. hat dein Programmiergerät ja was Programmiert und bleibt immer an der gleichen Stelle hängen? Es gibt bestimmt auch ein VERIFY in deiner Software. Das ist auch mal hilfreich. Evtl. zeigt der VERIFY ja eine bestimmte Adresse an, die nicht programmierbar ist oder so... Aber wenn der Fehler beim Lesen schon an Adresse 0x00 kommt, dann..?? KEINE AHNUNG. Gruß TK
Hy! Danke für den Tipp! Beim Verify kommt der Fehler relativ spät -<There was a verification error at EEprom address: 2109 . Kommt dann in den nächsten zeilen noch ein paar mal vor. Ich werde mal versuchen ob der PIC trotzdem funktioniert. Muss dazu aber noch ein paar Tage löten in die Schaltung investieren. Grüße, gauner1110
OK - das wird dann wohl nicht so schlimm sein! Wenns nur beim Programmieren vom EEPROM Fehler gibt, kann man das ja auch über den Code erreichen. Das bedeutet jetzt auch, dass die Firmware richtig programmiert ist. Und wenn im EEPROM an Adresse 0x09 (0x2109) keine relevanten Daten stehen, kann der Fehler vernachlässigt werden. Gruß TK
Danke an Alle! Habe heute einen anderen Tipp ausprobiert. Ich habe nicht Alles auf einmal programmiert sondern Konfiguration, Daten und Programm. Und diesmal gab es keinen Fehler. Grüße, Gauner1110
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.