📄 adc.c
字号:
#include "..\inc\44b.h"
#include "intserve.h"
#include "int_onoff.h"
#include "adc.h"
unsigned int ADC_DATA[8];
unsigned char ADC_ONOFF = ADCOFF;
void __irq Adc_Int();
//#define rADCCON (*(volatile unsigned *)0x1d40000)
//#define rADCPSR (*(volatile unsigned *)0x1d40004)
//#define rADCDAT (*(volatile unsigned *)0x1d40008)
void Adc_Init()
{
DisableInt();
rCLKCON=0x7ff8;
IntServe_Reg( (unsigned int)ISR_ADC , (unsigned int)Adc_Int );
rADCPSR = 199;
rINTMSK = ~( (~rINTMSK) | BIT_ADC );
rADCCON = 0x00;
EnableInt();
}
void Adc_Start(unsigned char OnOff)
{
ADC_ONOFF = OnOff;
if( ADC_ONOFF == ADCON )
{
DisableInt();
rADCCON = rADCCON | 0x03;
EnableInt();
}
}
void __irq Adc_Int()
{
unsigned char ADCID,ADCIDBuf;
rI_ISPC = BIT_ADC;
ADCID = (rADCCON >> 2) & 0x07;
ADCIDBuf = ADCID;
ADCIDBuf++;
ADCIDBuf = ( ADCIDBuf%8 ) << 2;
if( ADC_ONOFF == ADCOFF )
{
rADCCON = rADCCON & 0xFC;
}else
{
rADCCON = (rADCCON & 0x43) | ADCIDBuf;
}
ADC_DATA[ADCID] = rADCDAT;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -