?? ad._c
字號:
#include "ad.h"
unsigned int AD_value[AD_size]={0,0,0,0,0,0,0,0};
unsigned char ad_index;
const unsigned char ad_channel[AD_size]={0,1,2,3,4,5,6,7};
unsigned char ad_frist_flag;
#pragma interrupt_handler adc_isr:15
void adc_isr(void)
{
//conversion complete, read value (int) using...
// value=ADCL; //Read 8 low bits first (important)
// value|=(int)ADCH << 8; //read 2 high bits and shift into top byte
//CLI();
if(ad_frist_flag)
ad_frist_flag=0;
else
{
AD_value[ad_index]=ADCL;
AD_value[ad_index]|=(int)AD_value[ad_index]<<8;
ad_index++;
if(ad_index<sizeof(ad_channel))
{
ADMUX|=ad_channel[ad_index];
ADCSRA|=BIT(ADSC);
}
}
//SEI();
}
void adc_init(void)
{
ADCSR = 0x00; //disable adc
//select adc input 0
ADMUX=BIT(REFS0);
ADCSR=BIT(ADPS2)|BIT(ADEN)|BIT(ADIE);
ad_frist_flag=1;
}
void adc_start(void)
{
ADMUX|=ad_channel[ad_index++];
ADCSR|=BIT(ADSC);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -