Hallo!

Ich möchte folgendes realisieren, bin mir aber nichts sicher, dass das so richtig ist. Bei einer AD-Wandlung im Atmega8 hab ich ein 10bit Ergebnis, den ich per UART versenden möchte.
Die Funktion der AD-Wandlung sieht so aus:

Code:
uint16_t ReadChannel(uint8_t mux){
	ADMUX=mux;
	ADMUX|=(1<<REFS1) | (1<<REFS0);
	ADCSRA |= (1<<ADSC);  
	while ( ADCSRA & (1<<ADSC) ) {}
	//uart_putc(ADCL);
	//uart_putc(ADCH);
	return ADCW;

}
Das Ergebnis liegt also in der Variable result, die als 16bit int deklariert wird.
Versenden möchte ich das aus dem Hauptprogramm folgendermassen:

Code:
uint16_t result;
result=ReadChannel(3);
uart_putc((uint8_t)(result));
uart_putc((uint8_t)(result >> 8));
Ist das so richtig? Also wird hiermit zuerst das Low-Byte, dann das High-Byte versendet, oder ist das schwachsinn? Wie würdet ihr das lösen?

Danke für die Hilfe, mfg

pongi