ถ้างั้นจากโค้ดของคุณ JENG ผมก็จะเขียนได้ว่า
int adc_value=0;
adc_value = analog_read(5); //สมมติว่าผมใช้ADC5
ผมก็จะได้ค่า 0-1023 มาเก็บไว้ใบ adc_value ทันทีโดยไม่ต้องไปอ่าน ADCH/ADCL เลยสินะครับ
int var. เปลี่ยนเป็น unsigned short ก็พอครับ
การ return ADC; สามารถอ่านค่าจาก ADCH,ADCL พร้อมกันในคำสั่งเดียวได้เลยครับ
ขอบคุณครับ ชัดแจ่มแจ้งแล้ว ตอนเขียนผมใช้ int8u ครับ