Hallo Experten,
ich teste gerade den Mikrocontroller und bin beim ADC hängen geblieben
und finde meinen Fehler nicht.
Die Überlegung ist nun folgende: Ich möchte im ersten Step die AD
Wandlung gezielt anstoßen. Später eventuell über einen Timer....
1 | #include <compiler.h>
|
2 | #include <sysclk.h>
|
3 | #include <board.h>
|
4 | #include <gpio.h>
|
5 | #include <delay.h>
|
6 | #include <adc.h>
|
7 |
|
8 | ......
|
9 |
|
10 | volatile avr32_adc_t *adc = &AVR32_ADC; // ADC IP registers address
|
11 |
|
12 | sysclk_init();
|
13 | board_init();
|
14 |
|
15 |
|
16 | adc->cher = 0x0002;
|
17 | //adc->mr = 0x00;
|
18 | adc->chdr=0x00;
|
19 |
|
20 | int adc0 = 0;
|
21 | int adc1 = 0;
|
22 | int adc2 = 0;
|
23 | int aa = 0;
|
24 | int ab = 0;
|
25 |
|
26 | adc->cr=0xff;
|
27 |
|
28 | while (1){
|
29 |
|
30 |
|
31 | adc1=adc->cdr0;
|
32 | adc2=adc->cdr1;
|
33 |
|
34 | adc->cr=0x00;
|
35 | delay_ms(100);
|
36 | adc->cr=0x02;
|
37 |
|
38 | gpio_toggle_pin(LED0_GPIO);
|
39 |
|
40 | adc0=adc->sr;
|
41 | ab=0;
|
42 | while (ab < adc2 ) {
|
43 | gpio_toggle_pin(LED1_GPIO);
|
44 | delay_ms(1);
|
45 | ab = ab +1;
|
46 |
|
47 | }
|
48 | }
|
Wo ist der Fehler oder was fehlt noch? Danke für Euer Hilfe.
PS: Die Spannung am NTC ändert sich, wenn man ihn erwärmt.
Gruß Harry