Hallo,
ich mache meine ersten Gehversuche mit C (MCC18) mit einem PICF18F25J.
Mit folgendem Assembler-Programm kann ich mit dem Oszilloskop
am entsprechenden Port die Änderungen sehen
(ist nichts Weltbewegendes - sollte nur zum Einstieg in C helfen).
1 | LIST P=PIC18F25J10
|
2 | INCLUDE P18F25J10.INC
|
3 |
|
4 | ;code protect disabled
|
5 | CONFIG CP0=OFF
|
6 | ;Oscillator switch enabled, RC oscillator with OSC2 as I/O pin.
|
7 | CONFIG FOSC=HS
|
8 |
|
9 | CONFIG XINST=OFF
|
10 |
|
11 | CONFIG WDTEN=OFF
|
12 |
|
13 | org 00h
|
14 |
|
15 | movlw b'00001111'
|
16 | movwf BSR
|
17 |
|
18 | clrf PORTC
|
19 | clrf LATC
|
20 | clrf TRISC
|
21 |
|
22 |
|
23 | MAIN
|
24 | bsf LATC,6
|
25 | nop
|
26 | bcf LATC,6
|
27 | nop
|
28 | goto MAIN
|
29 |
|
30 | end
|
Mit folgendem C-Programm kann ich mit dem Oszilloskop
überhaupt nichts sehen
(Compelieren, Linken und Programmieren des Prozessors
sind ohne Probleme durchgelaufen).
Eigentlich sollte dieses C-Programm dasselbe tun,
wie das Assembler-Programm.
1 |
|
2 | #include <p18f25j10.h>
|
3 |
|
4 | //code protect disabled
|
5 | #pragma config CP0=OFF
|
6 |
|
7 | //Oscillator switch enabled, RC oscillator with OSC2 as I/O pin.
|
8 | #pragma config FOSC=HS
|
9 |
|
10 | #pragma config XINST=OFF
|
11 |
|
12 | #pragma config WDTEN=OFF
|
13 |
|
14 |
|
15 | void delay (int j)
|
16 | {
|
17 | int i;
|
18 | for (i = 0; i < j; i++)
|
19 | ;
|
20 | }
|
21 |
|
22 |
|
23 | void main (void)
|
24 | {
|
25 | BSR = 0xF;
|
26 | PORTC = 0x0;
|
27 | LATC = 0x0;
|
28 | TRISC = 0x0;
|
29 |
|
30 | while (1) {
|
31 |
|
32 | LATC = 0x6;
|
33 | delay (1);
|
34 | LATC = 0x0;
|
35 | delay (1);
|
36 |
|
37 | }
|
38 |
|
39 | }
|
Über jeden Tipp bin ich sehr dankbar.
Kann mir jemand noch einen Tipp (Buchtipp, Internet, ...)
für Samplecodes mitteilen?
Vielen Dank
thomas