Hi!
Ich bin Neuling in der Mikrocontroller Programierung und habe ein
Problem mit dem LPC2138, das ich mir nicht erklären kann. Das Program
lässt die LED´s nur leuchten, wenn entweder die abc_init() oder die
def_init() genutzt wird und die andere Funkion auskommentiert ist. Mit
beiden Funktionen liefert er überhaupt keine Ausgabe. Ich nutze WINARM
mit GCC 4.1.1 .
1 | #include <LPC213x.h>
|
2 |
|
3 | /*************** System Initialization ***************/
|
4 | void abc_init()
|
5 | {
|
6 | for( int i = 0; i < 300000; i++ ){// Etwas warten
|
7 | asm volatile("nop");
|
8 | }
|
9 | ;
|
10 | }
|
11 |
|
12 | void def_init()
|
13 | {
|
14 | for( int i = 0; i < 300000; i++ ){// Etwas warten
|
15 | asm volatile("nop");
|
16 | }
|
17 | ;
|
18 | }
|
19 |
|
20 | /*********************************************************/
|
21 |
|
22 | int main(void) {
|
23 |
|
24 | // setting up GPIO-pins
|
25 | IODIR0 = 0x0061B440;
|
26 |
|
27 | IOSET0 = (1<<16); // lampe 1
|
28 |
|
29 | def_init();
|
30 |
|
31 | IOSET0 = (1<<22); // lampe 2
|
32 |
|
33 | abc_init();
|
34 |
|
35 | IOSET0 = (1<<21); // lampe 3
|
36 |
|
37 | while(1) continue;
|
38 | return 0;
|
39 |
|
40 | }
|