Anfänger hat Probleme mit PIC und C

OP #3471870
Lesenswert?

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!
#3472002
Lesenswert?

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
Gast #3472102
Lesenswert?

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).
OP #3472114
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren