로그인 | 회원가입 | 주문 조회
AD 컨버터용 함수 라이브러리입니다.
글쓴이 N.T.C 등록일 2006-04-19 조회 19,238
안녕하세요? AVR로 ADC를 통해 온도계 같은 것을 만들고자 하는 분이 계시나요? 아래 루틴 및 라이브러리를 참조하세요. 첨부한 강좌도 참고하세요. int temp; void main(void){ init_devices(); Adc_Start(); while(1){ temp = Adc_Data(2); // 2번 채널을 사용할 경우임 printf("rnTemp : %d", temp); ........... Adc_Stop(); } } void adc_init(void) { ADCSRA = 0x00; //disable adc ADMUX = 0x00; //select adc input 0 } void Adc_Start( void ) { ADMUX = 0x00; ADCSRA = 0xc7; //AD enable, ADSC:1, free runnung:0,ADIF,ADIE:0 } void Adc_Stop( void ) { ADMUX = 0x00; ADCSRA = 0x07; // Adc disable } unsigned int Adc_Data( unsigned char mux ) { unsigned int value = 0x0000; ADCSRA &=0x3f; // Adc_disable, ADSC:0 ADMUX |= mux; ADCSRA |= 0xC7; // Adc_Enable delay(1); value = (ADCL)&0x00ff; value |= (ADCH << 8); value &= 0x03ff; delay(4); return value; }
다음글 [강좌] 서보모터 강좌
이전글 [추천도서] C 언어 관련 책 추천입니다.