-
-
Erfahrener Benutzer
Robotik Einstein
Hast Du im Quellcode auch angegeben, daß es sich jetzt um 12F629 handelt ?
Z.B. bei Assembler die Zeile: include "p12f629.inc" ; Registerdefinitionen einbinden
-
Erfahrener Benutzer
Lebende Robotik Legende
Hallo TB1!
Der einziger, aber wichtiger unterschied zwischen den PIC12FXXX und PIC16FXXX ist bei Portsnamen. Bei den 16F heissen Sie A, B, C, usw. und bei den 12F gibt's nur ein Port der heisst GPIO. Die zügehörigen TRIS Register heissen entsprechend bei 16F TRISA, TRISB, TRISC, usw. und bei 12F TRISIO. Im Programm muss es geändert werden. Ausserdem GP3 ist nur Input. Um alle I/O Pins nutzen zu können, habe ich folgende Konfiguration verwendet:
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _MCLRE_OFF & _INTRC_OSC_NOCLKOUT
Dazu kommt noch folgene Initialiesierung:
movlw 7
movwf CMCON ; comparator off, RA0-2 digital I/O
Wenn Du das mit den Ports und das was der kalledom erwähnt hat bereits gemacht hast, poste am besten Deine .asm Datei, dann können wir Dir besser helfen.
MfG
-
Neuer Benutzer
Öfters hier
Hi Leute,
An den geänderten Namen TRISIO und GPIO kanns nicht liegen. Hab ich berücksichtigt. Ich programmiere in C (jaja ich weis), und die korrekte Headerdatei ist im Projekt verknüpft. Auch der korrekte PIC ist in MPLAB eingestellt.
Wenn ich das Eingangssignal als Startbedingung aus dem Programm rausnehme, dann läuft das Schalten der Ausgänge wie gewünscht. Er erkennt nur das Startsignal, also Highpegel an einem Eingangspin, nicht.
Trotzdem erstmal besten DAnk für Eure Hinweise, auch wenn sie mir leider nicht nützen.
Ich werde mal versuchen, die Pindefinition in Assembler ins Programm zu übernehmen. Vielleicht hilft das ja. Bis dann.
MfG TB1
-
Erfahrener Benutzer
Lebende Robotik Legende
Schau, bitte, noch mal meinen letzten Beitrag, da ich ihn editiert habe, wenn Du Deinen letzten gepostet hast.
Ich kenne C nicht, aber sehr wichtig ist in den Register CMCON bei der Initialisierung den Wert 7 einzuschreiben, da sonst funktionieren die GPIOs 0,1 und 2 nicht als digitale I/Os.
MfG
-
Neuer Benutzer
Öfters hier
HiUser
Ich werde mal die Initialisierungen von PICture probieren. TRISIO und GPIO habe ich berücksichtigt. Da das Problem nur bei einem Eingang auftritt kanns eigentlich nur am Init liegen. Wenn ich die Startbedingung (hi´pegel) rausnehme, dann läuft das Programm nämlich.
-
Erfahrener Benutzer
Lebende Robotik Legende
Und noch mal das gleiche mit dem Editieren.
MfG
-
Neuer Benutzer
Öfters hier
Hi PICture,
Das Initiaöisieren mit CMCON=7 funktioniert ohne Fehlermeldung. Ob das Programm richtig läuft, werde ich erst morgen (Do) wissen, weil ich immer auf Arbeit mit PIC zu tun hab, und der Brenner deshalb dort ist. Heute hab ich frei
Ich schreib spätestens morgen Mittag obs funktioniert.
-
Neuer Benutzer
Öfters hier
HI Leute;
CMCON=7 war der richtige Tipp. Jetzt läufts. Besten Dank.
Gruss an alle
TB1
-
Erfahrener Benutzer
Lebende Robotik Legende
Hallo!
Ich bin heute in eine Falle reingefallen, die ich gar nicht vermuttet habe.
Bei einem Frequenzmessunsprogramm (das bei mir schon früher am PIC18F252 fehlerfrei gelaufen ist) habe ich zum togglen des Prescalers von Timer0 (beim PIC16F870) das bit T0SE in OPTION_REG benutzt,
nur die Reihenfolge von diesen zwei Zeilen:
bsf OPTION_REG,T0SE
bcf OPTION_REG,TOSE
verwechselt und das Programm war schon fehlerhaft.
Ich weiss immernoch nicht genau, warum ?
Ich vermute die innere Hardware vom PIC, da gibt's aber leider kein detaliertes Schaltplan, um das analisieren zu können.
MfG
-
Erfahrener Benutzer
Roboter-Spezialist
Ich hoffe, dass es nicht total verpönt ist, ein über 6 Jahre altes Thread zu reanimieren?
Ich bin beim Portieren eines Projektchens von 16F84A auf 16F630 in die RA3 Falle getappt, die hier schon beim 12F675 mit GP3 in einem Nebensatz erwähnt wurde. Wenn der RA3/MCLR Pin des 16F630 zum I/O Pin konfiguriert wird (MCLRE_OFF), dann kann er nur als Eingang genutzt werden. Es müsste also I-Pin statt I/O-Pin heißen .
Das steht zwar irgendwo im Datenblatt, aber da recherchiert man erfahrungsgemäß erst, nachdem man aufwändig Testboard-, LED- und Kabel- und MCU-Defekte ausgeschlossen hat.
Gruß witkatz
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen