Hallo. Fang gerade erst wirklich an mit der Programmierung von Mikrocontrollern. Benutze gerade den PICC 18 STD Compiler eingebunden in MPLAB IDE um einen PIC 18F4620 zu programmieren. Ich probier ein einfaches Programm zu schreiben in dem ich Ein paar Pins als Output setze und dies dann mit bestimmte Werte beschreibe. Hier ist mal mein CODE: //////////////////////////////////////////////////////////////////////// ///// #include <pic18.h> #include <htc.h> __CONFIG(1, HS); __CONFIG(2, WDTDIS); __CONFIG(3, PBDIGITAL); __CONFIG(4, DEBUGEN & LVPDIS); main() { //Digitale Ausgansleitungen zu Output setzen TRISB0 = 0; TRISB1 = 0; TRISB2 = 0; TRISB3 = 0; TRISB4 = 0; TRISB5 = 0; TRISC4 = 0; TRISC5 = 0; //Setzen der Adressleitungen RB0 = 0; RB1 = 0; RB2 = 0; //IC Auswahl treffen RB3 = 0; RB4 = 1; RB5 = 1; RC4 = 1; //Datenleitung setzen RC5 = 1; } //////////////////////////////////////////////////////////////////////// /// Wenn ich jetzt aber durch das Programm durch "step" und mir dabei den Special Function Register anschau will sich einfach der Wert von RB4 nicht auf eins setzen lassen. Das heißt das ich immer PORTB = 00100000 bekommen anstatt PORTB = 00110000 Kennt sich jemand mit PICC Compilern aus? Wie gesagt bin ich noch sehr neu in der Materie und ich bin für jegliche Hilfe sehr dankbar. Kann natürlich sein das ich in meinem Code irgendwelchen Quatsch verursacht hab. Vielen dank schonmal! Tobi
Habe gerade herausgefunden das sich im Special Function Register alles richtig abspielt wenn ich es mit dem MPLAB SIM debug. Sobald ich aber meinen MPLAB ICD2 benutze setzt sich das PORTB register immer falsch.... Warum??? Bin wirklich am verzweifeln.
Du musst ebenfalls das ADCON1 Register beschreiben, um von Analog-In auf Digital-I/O umzustellen -> PCFG3:PCFG0 muss 1111 sein Ebenfalls ist es schwierig den PORTB im Debug-Mode zu benutzen, da ICD2 die Pins RB5,RB6 und RB7 belegt. Im Release-Mode geht das schon nur beim debuggen sind diese Pins belegt.
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.