⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adc.h

📁 我写的针对lpc2141的ucos源码
💻 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 + -