Können wir uns darauf einigen, mal ein ganz simples Testprogramm ohne
Interrupt und sonstigen Schnickschnack, nur mit den Tutorial Routinen zu
schreiben?
1 | ...
|
2 | hier die Routinen aus dem Tutorial, wobei du die Referenzspannung so einstellst, wie du das brauchst.
|
3 | ...
|
4 |
|
5 | int main()
|
6 | {
|
7 | uint16_t adcval;
|
8 |
|
9 | ADC_Init();
|
10 |
|
11 | ... was immer du noch für die UART benötigst
|
12 | ...
|
13 |
|
14 | while( 1 ) {
|
15 |
|
16 | adcval = ADC_Read(0); // Kanal 0
|
17 |
|
18 | sprintf( uart_buff, "ADC 0: %u\n", adcval );
|
19 | uartPutS( uart_buff );
|
20 | }
|
21 | }
|
Dann variierst du mal die Spannung am ADC Eingang 0 (mit Voltmeter
kontrollieren) und siehst nach, was die ausgegebenen Werte machen.
Wenn sich die wie erwartet verhalten, dann kommt das nächste
Testprogramm
1 | ...
|
2 | while( 1 ) {
|
3 |
|
4 | adcval = ADC_Read(0);
|
5 |
|
6 | sprintf( uart_buff, "ADC 0: %u\n", adcval );
|
7 | uartPutS( uart_buff );
|
8 |
|
9 | adcval = ADC_Read(1);
|
10 |
|
11 | sprintf( uart_buff, "ADC 1: %u\n", adcval );
|
12 | uartPutS( uart_buff );
|
13 | }
|