Hallo zusammen Habe bis jetzt den OSCAL Wert immer mit asm Befehle herausgelesen. Nun versuche ich mich mit dem HI-TECH-C Compiler. Leider funktioniert nicht so richtig. Jemand einen Tipp? #include <htc.h> main() { #asm bsf STATUS, RP0 // Statusregister setze PR0 -> Auswahl Bank 1 call 3FFh // Aufrufen Kalibrierungswertes aus der letzten Speicherstelle movwf OSCCAL // Neuladen des Kalibrierungswertes für den internen Takt bcf STATUS, RP0 // Statusregister lösche PR0 -> Auswahl Bank 0 clrf INTCON // Abschalten aller Interrupts und löschen der Flags #endasm //Init static bit bitvar; TRISIO = 0B11001000; //GPIO3 Input GPIO5,4,2,1,0 Output GPIO = 0B00000000; //GPIO off while(1) // Loop Forever { GPIO1 = 1; //high GPIO1 } } Denke könnte ein Compiler Problem sein, da #asm und #endasm rot wird...
asm("nop"); oder __asm("nop"); Wann dann schau in der Hilfe nach. Der Syntax kann abweichen.
Hallo Benjamin Beim obigen Code funktioniert das Debugging mit MPLABSIM nicht. d.h. der GPIO Wert wird nicht eigeschrieben. Benötigt man für diesen Compiler das ICD2 auch fürs Debuggen mit MPLAB SIM? Was mache ich falsch? Habe nun mehrmals aktuellste Version von MPLAB und von HI-TECH C runtergeladen und installiert. Benutze einen PIC 12F629 Mit Pic Basic Pro bin ich bis jetzt gut gefahren, aber um mich besser auf die Vordiplom Prüfung vorzubereiten muss ich C programmieren... Bin dankbar um jeden Tipp... Gruess
Hallo Excalibur, ich habe mit dem Compiler leider noch nichts gemacht. Es war nur ein Vorschlag. Beim GCC gehts mit den obigen Befehlen. Wie gesagt, ich kenne den Compiler von dir nicht. Aber weiterhin viel Erfolg. Benjamin
Warum mit Assembler? Geht auch in C. Hat der 12F629 überhaupt ein OSCCAL? Ich meine bei einigen Typen gibts das nicht.
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.