Moin moin, ich beschäftige mich schon etwas länger mit PIC´s, allerdings blieb dies bis jetzt nur auf den 16F84 beschränkt. Habe nun ein kleines projekt in dem Ich einen 12F508 benutzen möchte. Zur programmierung des Pic´s benutze ich das Pickit 2. Als Programm MPLAB 8.40 und zum complieren den cc5x. Da ich zum ersten mal per ICSP programmiere habe ich ein Adapterkabel und eine kleine programmierplatine erstellt um den PIC mit dem Programmer zu verbinden. Das ist so weit glaube ich auch in Ordnung. Als erstes wollte ich alle I/O Pins auf Output stellen und an jedem einen High pegel liegen haben. Nun kommt das was ich mir net erklären kann. Wenn ich folgendes in C eingebe: #include <C:\cc5\12F508.h> // Prozessor-Typ definieren void main(void) // Start des Hauptprogramms { TRISGPIO = 0b.0000.0000; // Alle Pins sind Ausgänge GPIO = 0b.0011.1111; // Alle High-Pegel } Kommt als .asm folgendes heraus: processor 12F508 radix DEC PORTB EQU 0x06 GPIO EQU 0x06 GOTO main main ;TRISGPIO = 0b.0000.0000;// Alle Pins sind Ausgänge MOVLW 0 TRIS PORTB ;GPIO = 0b.0011.1111;// Alle High-Pegel MOVLW 63 MOVWF GPIO SLEEP END Wenn ich nun mein PIC Programmiere passiert garnix, MPLAB sagt alles ist in Ordnung. Ich gehe mal davon aus das etwas an dem code nicht stimmt. Wenn ihr nen tipp für mich habt wäre ich dankbar. Mfg.
Öhm... Was macht dein Prozessor denn danach?! Wo ist Endlosschleife?!
Pronbiers mal so: #include <C:\cc5\12F508.h> // Prozessor-Typ definieren #pragma config |=0b11001 void main(void) // Start des Hauptprogramms { TRISGPIO = 0b.0000.0000; // Alle Pins sind Ausgänge GPIO = 0b.0011.1111; // Alle High-Pegel }
>Pronbiers mal so:
Wie kommt denn das n da rein? Scheiß Hitze, blöde Laptoptastatur;)
du jagst den PIC ja sofort wieder in den Reset nachdem das Programm einmal durchgelaufen ist. Endlosschleife fehlt ! Dann wären die Config-Bits noch interessant und verifizier mal das auf den PIC geschrieben. Wie sieht's mit Taktquelle aus ?!
>Wie sieht's mit Taktquelle aus ?!
Autsch.
#pragma config |=0b11010
Für INTRC;)
Danke für eure Hilfe. Habe die config nun innerhalb meines codes erstellt, MPLAB hat es trotz der entsprechenden Einstellung nicht selber gemacht. Bleibt bei mir noch eine Frage offen. Kann ich den PIN Nr.2 GP2/TOCKI als normalen Output benutzen? Wenn ja, muss noch etwas spezielles umgestellt werden, im mom bekomm ich kein high pegel mit ihm erzeugt, alle anderen funktionieren. MFG
>Kann ich den PIN Nr.2 GP2/TOCKI als normalen Output benutzen?
Ja. GP3 kann nur ein Input sein.
Wenn ich den oben angegeben code brenne, dann schwankt GP2 zwischen Spannungen von 0.2 bis 2V ... hat jemand eine erklärung dafür? Muss ich zwecks GP2/TOCKL noch was umstellen? Hab den Pic schon ausgetauscht weil ich dachte er sei defekt. MFG
>dann schwankt GP2 zwischen >Spannungen von 0.2 bis 2V Bist du sicher das du nicht an GP3 misst?
jop, GP3 liegt aus relativ konstanten 0,7V. Das dürfte als unbeschalteter Input ja auch in ordnung sein.
Malte K. schrieb: > Kann ich den PIN Nr.2 GP2/TOCKI als normalen Output benutzen? Pin Nr. 2 ist NICHT GP2, sondern GP5 GPO bis GP2 und GP4 bis GP5 sind Input/Output (per TRIS-Befehl einstellbar), GP3 (Pin 4) ist immer Input, egals was Du beim TRIS-Befehl sagts.
Sorry, ich meine natürlich Pin Nr. 5. Schaffe es einfach nicht einen High Pegel damit zu erzeugen, ist nun auch nicht weiter schlimm, weil ich den auch als Input Pin benutzen kann... das funktioniert ohne Probleme. Ich hab zwar immer noch keine Ahnung warum sich GP2 nicht auf high schalten lässt aber danke euch trotzdem für eure Hilfe. Falls jemand doch noch einen Gedankenblitz hat, warum GP2 nicht will kann er ja nochma schreiben. Mfg
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.