Hallo, ich möchte gerade die ADC vom TC1767 (oder TC1766) einsetzen. Leider funktioniert es nicht so ganz. Dazu habe ich mir ein Beispiel ausgedacht: - auf AN0 messe ich eine Spannung - Beträgt die Spannung über 0V lasse ich eine LED leuchten Dazu möchte ich innerhalb einer while()-Schleife eine 12-Bit-AD-Umwandlung anstossen lassen (über einen Funktionsaufruf) und je nach Spannung die LED leuchten lassen. Die Konfiguration (TC1767) habe ich mittels DAvE vorgenommen und ist im Anhang zu finden. Meine while()-Schleife sie folgendermaßen aus:
1 | // USER CODE BEGIN (Main,7)
|
2 | /* LEDs ausschalten */
|
3 | IO_vSetPin(IO_P5_0); |
4 | IO_vSetPin(IO_P5_1); |
5 | IO_vSetPin(IO_P5_2); |
6 | IO_vSetPin(IO_P5_3); |
7 | IO_vSetPin(IO_P5_4); |
8 | IO_vSetPin(IO_P5_5); |
9 | IO_vSetPin(IO_P5_6); |
10 | IO_vSetPin(IO_P5_7); |
11 | |
12 | uword a = 0; |
13 | while(1) { /* Endlos-Schleife */ |
14 | ADC0_vStartSeq0ReqChNum(1, 0, 1, ADC0_ANA_0); /* Umwandlung durchführen */ |
15 | while(ADC0_uwBusy() == 1) { } /* Warte bis Umwandlung beendet ist */ |
16 | a = ADC0_uwGetResultData(RESULT_REG_0); /* Ergebnis auslesen */ |
17 | if(a>0) { /* Spannung höher als 0V */ |
18 | IO_vResetPin(IO_P5_0); /* LED 0 leuchten lassen */ |
19 | } else { |
20 | |
21 | } IO_vResetPin(IO_P5_1); /* LED 1 leuchten lassen */ |
22 | }
|
23 | // USER CODE END
|
Kann mir da jemand weiterhelfen? Viele Grüße Markus