?? adc.h
字號:
#ifndef __ADC_H__
#define __ADC_H__
/*pin function select
AD0.1 P0.28
AD0.2 P0.29
AD0.3 P0.30
AD0.4 P0.25
AD0.6 P0.4
AD0.7 P0.5
*/
//ADC PIN SELECT
#define USE_AD01 PINSEL1=(~(0X00000003<<24)&PINSEL1)|0x01<<24
#define USE_AD02 PINSEL1=(~(0X00000003<<26)&PINSEL1)|0x01<<26
#define USE_AD03 PINSEL1=(~(0X00000003<<28)&PINSEL1)|0x01<<28
#define USE_AD04 PINSEL1=(~(0X00000003<<18)&PINSEL1)|0x01<<18
#define USE_AD06 PINSEL0=(~(0X00000003<<8)&PINSEL0)|0x03<<8
#define USE_AD07 PINSEL0=(~(0X00000003<<10)&PINSEL0)|0x03<<10
//AD0CR register
#define AD0CR_AD01 0x00000002
#define AD0CR_AD02 0X00000004
#define AD0CR_AD03 0X00000008
#define AD0CR_AD04 0X00000010
#define AD0CR_AD06 0X00000040
#define AD0CR_AD07 0X00000080
//AD channel selection macro
#define AD_SEL(x) do { USE_AD0##x; AD0CR=AD0CR_AD0##x; } while(0)
#define AD0CR_BURST 0x00010000
#define AD0CR_PDN 0X00200000
//start immediatly
#define AD0CR_START 0x01000000
//ADGDR and ADDRX register
#define ADDR_RESULT(x) (((x)>>6)&0x3ff)
#define ADDR_OVERUN_MASK 0X400000000
#define ADDR_DONE_MASK 0X80000000
//only for ADGDR
#define ADDR_CHN(x) (((x)>>24)&7)
extern void adc_init(uint8);
extern uint16 adc_once(void);
// for DACR
#define USE_DAC PINSEL1=(~(0X00000011<<18)&PINSEL1)|0x02<<18
//DACR register
#define DACR_BIAS 1<<16
#define DACR_VALUE(x) (((x)<<6)&0x0000FFC0)
extern void dac_triangle(void);
extern void dac_sin(void);
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -