Gast
#2319304
Hallo Leute, Ich messe mit dem internen ADC eines ATMega32 die Spannung eines Drucksensorsals 10-bit-Werte. Hierzu wird in der ADC-ISR erst der nächste Kanal eingestellt und die nächste Messung angestoßen und anschließend der Messwert abgeholt und gemittelt. Nun möchte ich ohne die ADC-ISR wesentlich zu verlängern die Messwerte als Rohwerte ausgeben. Ein einfaches Print in der ISR vervielfacht die Dauer um Potenzen, ein Flag und Ausgabe in Main führt aufgrund der sehr langen Durchlaufzeit der Main-Loop im Verhältnis zu den ADC-Interrupten ebenfalls zu Datenstau. Ein Byte des Messergebnisses in der ADC-ISR ins UDR schreiben würde gehen, aber da alle Timer für PWM und einer 1-ms-Takterzeugung genutzt werden, finde ich noch keinen Trigger zur Ausgabe des zweiten Bytes. f_cpu = 12,288 MHz ADC_Prescaler = 64 baud = 115200 Zusammengefasst: Wie lassen sich die Messwerte des ADC in nahezu free-run-Geshwindigkeit ohne externe Hardware über eine Messdauer von 3-4 Sekunden an einen PC übertragen. Danke