Hi,
Ich werd hier heute ein Paar Verständnisfragen zum ADC stellen, wenn ich
nicht mehr weiter weiß. Ich danke schon Mal für eure Geduld
(Ich hab einen miniModul-515C und mvision4 als IDE.)
1. Frage. Sei ADCL=0 und folgende Funktion gegeben:
1 | void adc_starten(void) {
|
2 | "Starten des ADC"
|
3 | _nop_();
|
4 | _nop_();
|
5 | _nop_();
|
6 | _nop_();
|
7 | _nop_();
|
8 | _nop_();
|
9 | _nop_();
|
10 | _nop_();
|
11 | "Auslesen des Ergebnisses"
|
12 | }
|
Was passiert nun, wenn z. B. in "adc_starten()" erst beim dritten
_nop_() bin und genau zu dem Zeitpunkt eine neuer Konvertierungswunsch
gestartet wird (durch schreiben in ADDATL). Dann wird ja beim nächsten
Maschinenzyklus eine neue Konvertierung gestartet. Was passiert aber nun
mit "adc_starten()", der von all dem nichts weiß. Es macht einfach
weiter und liest am Ende einen falschen Wert aus oder wie?