Hi Leute,
Ich habe im moment die Aufgabe ein Programm für einen PIC 18f4525 zu
schreiben. Da ich bisher nur mit AVRs und Arduinos gearbeitet habe ist
das etwas ungewohnt.
Das Problem was ich im Moment habe ist, dass ich den Controller zwar
angeblich flashen kann (mit MPLABX und einem ICD3), der aber scheinbar
garnichts macht. Zum Testen habe ich mal ein Minimalprogramm geschrieben
was nur einen Pin toggeln soll.
Gibt es da irgendeine Falle an die ich nicht gedacht haben könnte, ist
an meinem Code irgendwas falsch, oder gibt es noch etwas spezielles auf
das ich achten muss?
Spannungsversorgung habe ich bereits kontrolliert. Umstellung von
externen Quarz auf den internen habe ich auch schon versucht. Auch mit
den anderen Portregistern hatte ich kein Glück.
1 | /*
|
2 | * Includes
|
3 | */
|
4 | #include <xc.h>
|
5 | #include <pic18f4525.h>
|
6 | #include <stdint.h>
|
7 | /*
|
8 | * Defines
|
9 | */
|
10 | #define _XTAL_FREQ 10000000 //Define uc frequency for _delay functions (10MHz)
|
11 | //#pragma config OSC = HS // Oscillator Selection bits (HS oscillator)
|
12 | #pragma config OSC = INTIO67 // Oscillator Selection bits (Internal oscillator block, port function on RA6 and RA7)
|
13 |
|
14 | #pragma config WDT = OFF // Watchdog Timer Enable bit
|
15 | #pragma config PWRT = OFF
|
16 | #pragma config BOREN = OFF
|
17 |
|
18 | void main(void) {
|
19 | LATCbits.LATC6 = 0x0;
|
20 | TRISCbits.TRISC6 = 0x0;
|
21 |
|
22 | while (1) {
|
23 | LATCbits.LATC6 = ~LATCbits.LATC6 ;
|
24 | __delay_ms(1000);
|
25 | }
|
26 | return;
|
27 | }
|
Vermutlich ist es irgend ein kleiner, dummer Fehler. Aber ich finde ihn
gerade nicht....