Hi, folgender Code sollte, egal ob FIO definiert ist oder nicht, das
gleiche Ergebnis liefern, so versteh ich es zumindest.
1 | //#define FIO
|
2 | #ifdef FIO
|
3 | FIO0MASK= ~0x00200000;
|
4 | FIO0DIR= 0x00200000;
|
5 | #else
|
6 | IODIR0 = 0x00200000;
|
7 | #endif
|
8 | // endless loop to toggle the red LED P0.21
|
9 | while (1)
|
10 | {
|
11 | {
|
12 | // LED_ON;
|
13 | #ifdef FIO
|
14 | FIO0CLR = 0x00200000;
|
15 | #else
|
16 | IOSET0= 0x00200000;
|
17 | #endif
|
18 | for (j = 0; j < 200000; j++ );
|
19 |
|
20 | //LED_OFF;
|
21 | #ifdef FIO
|
22 | FIO0SET = 0x00200000;
|
23 | #else
|
24 | IOCLR0= 0x00200000;
|
25 | #endif
|
26 | for (j = 0; j < 200000; j++ );
|
27 | }
|
28 | }
|
Jedoch, passiert bei definiertem FIO gar nichts.
An 2 weiteren Ports, 3 und 4 mit FastIO, habe ich noch ein LCD, welches
Funktioniert. Nutze ich jedoch die normalen IO für die LED, und das LCD,
geht die LED wiederum nicht. An den PINSEL Registern spiele ich nicht
rum.
Was könnte ich übersehen haben?