Hallo, bin gerade dabei meine ersten Versuch mit dem PICKit3 Debug Express und dem zugehörigen Board mit einem PIC18F4520 zu machen. Das Programm kann ich auch problemlos compilieren udn auch das übertragen auf das Board funktionier ohne Problemen. Wenn ich dann Run im Menü Debugger aufrufe, passiert garnichts. Mache ich dann Halt so kommt das Disassembly Listing und der Prozessor läuft in einer Endlos-Schleife. Es handelt sich um ein leicht verändertes Programm der mitgelieferten Lesson 2 "02 Blink LED" /** C O N F I G U R A T I O N B I T S ******************************/ #pragma config FOSC = INTIO67, FCMEN = OFF, IESO = FF // CONFIG1H #pragma config PWRT = OFF, BOREN = SBORDIS, BORV = 30 // CONFIG2L #pragma config WDTEN = OFF, WDTPS = 32768 // CONFIG2H #pragma config MCLRE = OFF, LPT1OSC = OFF, PBADEN = ON, CCP2MX = PORTC // CONFIG3H #pragma config STVREN = ON, LVP = OFF, XINST = OFF // CONFIG4L #pragma config CP0 = OFF, CP1 = OFF, CP2 = OFF, CP3 = OFF // CONFIG5L #pragma config CPB = OFF, CPD = OFF // CONFIG5H #pragma config WRT0 = OFF, WRT1 = OFF, WRT2 = OFF, WRT3 = OFF // CONFIG6L #pragma config WRTB = OFF, WRTC = OFF, WRTD = OFF // CONFIG6H #pragma config EBTR0 = OFF, EBTR1 = OFF, EBTR2 = OFF, EBTR3 = OFF // CONFIG7L #pragma config EBTRB = OFF // CONFIG7H /** I N C L U D E S **************************************************/ #include "p18f45k20.h" #include "delays.h" /** D E C L A R A T I O N S *******************************************/ void main (void) { TRISD = 0b01111110; // PORTD bit 7 to output (0) ; bits 6:0 are inputs (1) while (1) { LATDbits.LATD7 = ~LATDbits.LATD7; // toggle LATD LATDbits.LATD0 = ~LATDbits.LATD0; // toggle LATD // Delay1KTCYx(50); // Delay 50 x 1000 = 50,000 cycles; 200ms @ 1MHz } } Und er bleibt bei diesem Assembler-Codestück hängen 0010 60EA CPFSLT 0xfea, ACCESS 0012 D002 BRA 0x18 0014 6AEE CLRF 0xfee, ACCESS 0016 D7FC BRA 0x10 Mir fehlt noch die Erfahrung mit PICs. Wie komme ich da weiter? Gruss Ludger.
Hallo, habe mein Problem durch intensives Handbuch-Lesen und ausprobieren gelöst. Ich hatte das falsche Linker Script für den 18F45K20 eingebunden. Ich muss das Linker Script des C Compilers statt des Linker Scriptes der MPLAB IDE verwenden. Gruss Ludger
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.