0,0 → 1,48 |
#ifndef __adc_h |
#define __adc_h |
|
#define ADC_CHANNEL_AN0 0b0000 |
#define ADC_CHANNEL_AN1 0b0001 |
#define ADC_CHANNEL_AN2 0b0010 |
#define ADC_CHANNEL_AN3 0b0011 |
#define ADC_CHANNEL_AN4 0b0100 |
#define ADC_CHANNEL_AN5 0b0101 |
#define ADC_CHANNEL_AN6 0b0110 |
#define ADC_CHANNEL_AN7 0b0111 |
#define ADC_CHANNEL_AN8 0b1000 |
#define ADC_CHANNEL_AN9 0b1001 |
#define ADC_CHANNEL_AN10 0b1010 |
#define ADC_CHANNEL_AN11 0b1011 |
#define ADC_CHANNEL_AN12 0b1100 |
#define ADC_CHANNEL_VDDCORE 0b1110 |
#define ADC_CHANNEL_ABG 0b1111 |
|
#define ADC_TAD_20 0b111 |
#define ADC_TAD_16 0b110 |
#define ADC_TAD_12 0b101 |
#define ADC_TAD_8 0b100 |
#define ADC_TAD_6 0b011 |
#define ADC_TAD_4 0b010 |
#define ADC_TAD_2 0b001 |
#define ADC_TAD_0 0b000 |
|
#define ADC_FOSC_64 0b110 |
#define ADC_FOSC_32 0b010 |
#define ADC_FOSC_16 0b101 |
#define ADC_FOSC_8 0b001 |
#define ADC_FOSC_4 0b100 |
#define ADC_FOSC_2 0b000 |
#define ADC_FOSC_FRC 0b011 |
|
typedef struct __ADC_DATA { |
unsigned char last_channel; |
unsigned int result; |
} ADC_DATA; |
|
void ADC_Init(unsigned char TAD, unsigned char FOSC); |
void ADC_Start(unsigned char channel); |
void ADC_Stop(void); |
void ADC_Interrupt_Handler(void); |
char ADC_Get_Result(unsigned int *ret); |
|
#endif |