Moin, ich wollte ein kleines Testprogramm schreiben, bei dem eine LED einfach nur aufleuchten und nach ner kurzen zeit wieder ausgehen soll. eigentlich ganz simpel... Nun habe ich meinen PIC16F628 04/P mit IC-Prog und mit dem folgenen Code beschrieben, in die schaltung eingesetzt und nicht passierte... #include <stdio.h> #include <stdlib.h> //mit den Header-datein bin ich mir nicht sicher, ich hab die in dem zusammenhang öfters gesehen. #pragma config FOSC=INTOSC, WDTE=OFF, PWRTE=OFF, MCLRE=OFF, CP=OFF, CPD=OFF, BOREN=ON, CLKOUTEN=OFF, IESO=OFF, FCMEN=OFF #pragma config WRT=OFF, PLLEN=OFF, STVREN=OFF, LVP=OFF //die einstellungen habe auch Beispielcodes von Mikrochip.com. int main(void) { TRISBbits.TRISB5 = 0; // Pin 5 von Port B deffinieren while(1) { PORTBbits.RB5 = 1; // Pin 5/ LED einschalten delay(1000); // Warten PORTBbits.RB5 = 0; // Pin 5/ LED ausschalten delay(1000); // wieder warten } } Ich bin mir nicht sicher, woran es liegt, aber wenns am code liegt, bin ich über jede hilfe glücklich. Vielen Dank im vorraus!
Hier mal ein Testprogramm. So wie du es machen wolltest. Sollte es nicht laufen, dann stimmt an deiner Schaltung was nicht.
Ok vielen dank dafür :D ich probiers nachher mal aus. @ Stefan: hab ich wohl übersehn gut
Hi, OK, In deinem Fall sind da wirklich noch eine Menge Baustellen, es kann an deinem Programm liegen, an deinem Programmer, an IC Prog usw. Hast du mal versucht den beschriebenen PIC wieder auszulesen und den Speicherinhalt mit deinem HEX-File verglichen? Damit könnte man zumindest schon einmal sicherstellen das es überhaupt zu einem erfolgreichen Programmiervorgang gekommen ist. ICh kenne das Programm IC-Prog jetzt nicht, zu meiner Selbstbauprogammerzeit habe ich noch mit PIP02 gearbeitet. ISt aber nun fast 15 Jahre her. ISt es dort evtl. möglich das dein Programm- falls es überhaupt in den PIC gekommen ist- mit falscher Startadresse im Speicher gelandet ist. Mit einem Original PicKit3 bzw. einem 100% Clone (ab 20Euro) könntest du dir zumindest sicher sein das wenn eine erfolgreiche Programmierung gemeldet wird dies auch so stimmt. Ausserdem: Welchen Compiler hast du verwendet? Vom Quellcode passt keine der beiden Alternativen die mir in den Sinn kommt. Dann könnte man auch sagen ob die Includes richtig sind, überflüssig, oder ob da noch etwas fehlt. Auch und vor allem ob die delay Funktion in dieser Schreibweise korrekt ist kann man nur dann sehen da diese Compilerabhängig ist... Was hat der Compiler denn nach dem Build an Output ausgegeben, Wurde ein erfolgreicher Abschluss gemeldet oder vielleicht gar ein Fehler? Ach ja: Stefan schrieb: > Schalte mal den Comperator aus. > Siehe Datenblatt. Was hat der Comperator beim 16F628 mit dem Port B5 zu tun? NICHTS! Beim 628er ist gerade der PortB5 der NArrensicherste, der ist ein reiner IO ohne Mehrfachfunktion! Bis auf das Richtungsbit im Tris register muss beim B5 wirklich NICHTS anderes konfiguriert sein damit der als normaler Ausgang funktioniert. Gruß Carsten
Das Programm läuft nicht... und wird in IC-Prog auch nicht wirklich dargestellt... sind nur nullen. hast du noch das C-file?
Wieso dargestellt ? Du sollst das HEX-File in den Pic brennen. Das ist kein Programm, was du ansehen kannst. Wird direkt in den µC reingeschrieben.
Sehe gerade das du den MCLR nicht benutzt. Hier mal das Programm ohne MCLR.
Carsten Sch. schrieb: > Mit einem Original PicKit3 bzw. einem 100% Clone (ab 20Euro) könntest du > dir zumindest sicher sein das wenn eine erfolgreiche Programmierung > gemeldet wird dies auch so stimmt. Ich würde auch einen Programmer von Microchip kaufen. Ich lese manchmal hier im Forum von Problemen mit Selbstbau-Programmern, und bin jedes Mal froh, dass ich mit zum Einsteigen ein PICkit2 gekauft und somit nie Probleme mit dem Programmer hatte (außer als ich zum PK3 wechseln musste weil das PK2 den PIC den ich verwenden wollte nicht unterstützt).
also was ich mit darstellen meine ist, dass wenn ich das Programm in PonyProg oder IC-Prog öffne sind da ja sonnst immer viele erschiedene Zahlen und Buchstaben - hexfile halt - doch mir werden werden da nur nullen angezeigt... liegt wohl an der übertragung zum alten rechner, wo ich noch ne serielle schnitstelle hab^^ naja, darun kümmer ich mich spädter. Ich hab mich nebenbai nochmal schlau gemacht, und ich glaub, dass delay sieht eher so aus: _delay_ms()... Naja könnte sonst jamand so nett sein und mir dieses Testprogramm als C-Code aufschreiben? Ich hab nähmlich nen "größeres" Programm geplant, nämlich ein lauflicht, aber dafür müssen ja erstmal die anfänge stimmen. Danke schonmal. MFG Jan P.S. das Programmiergerät ist ein offizielles mit eigenen treibern usw. und fünktioniert auch, also ich hab den PIC beschrieben und neu eingelesen (hab nen älteren code benutzt) und die hexfils wurden in der anzeige von IC-Prog gleich dargestellt.
Verstehe zwar nicht so ganz was du da machst, aber schau mal hier vorbei. Da findest du viele Anregungen zum lernen von C. http://pic-projekte.de/wiki/index.php?title=Hauptseite
Stefan schrieb: > http://pic-projekte.de/wiki/index.php?title=Hauptseite Das PIC-C-Tutorial auf dieser Seite hat mir beim Einstieg sehr geholfen.
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.