convert_10bit.c

来自「Source code for RFM01 fm radio receiver」· C语言 代码 · 共 18 行

C
18
字号
#include "../adc.h"

//! Perform a 10-bit conversion
// starts conversion, waits until conversion is done, and returns result
unsigned short ADC_convert_10bit(unsigned char ch)
{
	ADC_complete_flag = 0;				// clear conversion complete flag
	ADMUX = (ADMUX & ~ADC_MUX_MASK) | (ch & ADC_MUX_MASK);	// set channel
	sbi(ADCSR, ADIF);						// clear hardware "conversion complete" flag 
	sbi(ADCSR, ADSC);						// start conversion
	//while(!ADC_complete_flag);				// wait until conversion complete
	//while( bit_is_clear(ADCSR, ADIF) );		// wait until conversion complete
	while( bit_is_set(ADCSR, ADSC) );		// wait until conversion complete

	// CAUTION: MUST READ ADCL BEFORE ADCH!!!
	return (ADCL | (ADCH<<8));	// read ADC (full 10 bits);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?