📄 adc.c
字号:
#include <header.h>
#include <adc.h>
#include <ctrl.h>
#define ADREFIN 0x0A
#define ADREFOUT 0x0B
#define ADCREFIN 0xc0
#define ADCREFOUT 0x00
unsigned char adc_mux;
unsigned short int ADC_read(unsigned char adc_way)
{
ADMUX=adc_mux|(adc_way&0x07);
ADCSRA|=(1<<ADSC);
loop_until_bit_is_set(ADCSRA,ADIF);
ADCSRA|=(1<<ADIF);
return ADC; //ADC=ADCH:ADCL
}
void ADC_int()
{
adc_mux=0xc0; //0xc0:选择内部2.56V参考电压
ADCSRA=(1<<ADEN)|0x06; //使能ADC,时钟64分频 125KHz@8MHz system clock
}
void ADC_com(unsigned char com)
{
switch(com)
{
case 0x00:
case 0x01:
case 0x02:
case 0x03:
case 0x04:
case 0x05:
case 0x06:
case 0x07:
ctrl_send_ADC(ADC_read(com),com);
break;
case ADREFIN: adc_mux=ADCREFIN;break;
case ADREFOUT: adc_mux=ADCREFOUT;break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -