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

📄 ad_2.c

📁 非常实用的韩国dsp2407源代码
💻 C
字号:
/* -------------------------------------------------------------------------*/
/*	                 A/D test code for my2406/2407 board          			*/
/*																			*/
/*										     Copyleft(^^) Do-Yoon Kim       */
/*													AD_2.c	ver 2.0			*/
/*															2002.7.10	    */
/* 	A/D 盲澄阑 鸥捞赣 漂沥 鉴辑肺 漂沥 俺荐甫 楷加栏肺 函券窍绰 角氰 荐青   */
/*  啊函 历亲蔼阑 A/D 函券阑 烹秦 掘篮 饶 矫府倔 烹脚栏肺 傈价窍绰 橇肺弊伐 */ 
/*  啊厘 埃窜茄 A/D 角氰 备炼捞促.                                          */
/* ------------------------------------------------------------------------ */

#include <util.h>
#include <SCI.h>
 
int AD_end = 0;
UINT AD0,AD1,AD3,AD5;


void bad_trap(void)
{
	while(1) ;
}

void c_int2( void )             // EVA狼 timer1 牢磐反飘 辑厚胶 风凭
{
	DI;
    SET(EVAIFRA,T1PINT_FLAG);	// 牢磐反飘 敲贰弊甫 技飘矫挪促.    
    TOGGLE(PORTC, BIT0);        // 牢磐反飘啊 吧府搁 LED1阑 濒冠芭赴促.
    AD_end = 1;
    EI;
}     
    
    
void c_int1( void )
{
	DI;
	TOGGLE(PORTC, BIT1);        // 牢磐反飘啊 吧府搁 LED1阑 濒冠芭赴促.
	if((PIVR-0x0004)==0)		// verify type of interrupt (4 = ADC)
	{
		AD0 = (RESULT0>>6)&0x03FF;
	    AD5 = (RESULT1>>6)&0x03FF;
	    AD3 = (RESULT2>>6)&0x03FF;
	    AD1 = (RESULT3>>6)&0x03FF;
	    ADCTRL2 |= 0x4200;		// cleaer ADC sequencer/Interrupt flag    
	}
	EI;
}
	    
void main(void)
{		                
	
	char s[40];
	DSPInit(PLLx4);		// PLL= x4
	SCIInit();
	
	//LED1, LED2
	SET_PC_OUT(BIT1|BIT0);
	CLEAR(PORTC, BIT1|BIT0);
    
	
	//荤侩且 葛碘甸阑 劝己拳 茄促.
	EVA_ENABLE;  		//EVA module enable 
	
	//鸥捞赣 林扁 牢磐反飘 锭 AD 函券捞 老绢唱档废 茄促.
	GPTCONA |= 0x0100;  
				
	//2. 老窜 timer 悼累阑 沥瘤矫挪促.
	T1DISABLE;  
	
	//3. 荤侩窍绊磊 窍绰 格利栏肺 timer甫 汲沥茄促.
	T1CON = 0x5700;		// continue_up_cnt, x/128, internal_clk
	
	//4. 鸥捞赣狼 林扁甫 汲沥茄促.
	T1PR = 62499;		// 5Hz  
	
	//5. 鸥捞赣狼 墨款磐甫 檬扁拳茄促.
	T1CNT = 0;
	
	//6. 鸥捞赣甫 悼累矫挪促.
	T1ENABLE;
	
	//7. 牢磐反飘甫 荤侩且 巴捞扼搁, timer 牢磐反飘 吝俊辑 
	//   荤侩窍绊磊 窍绰 牢磐反飘甫 劝己拳矫挪促.
	SET(EVAIMRA,T1PINT_ENA);	// Timer1 Period Int.甫 荤侩
	            
   
	// ADC setting 鉴辑
	// 1. ADC啊 加秦乐绰 葛碘阑 劝己拳 矫挪促. 
	ADC_ENABLE;
	
	// 2. ADC甫 檬扁拳茄促.
	ADCTRL1 = 0x4000; 	// RESET 厚飘甫 '1'肺 汲沥窍咯 ADC 葛碘阑 府悸茄促.
	NOP;                // delay
	ADCTRL1 = 0x2092;   
		// prescaler:0, CPS:1, High-priority, start-stop mode 
	
	// 3. 弥措 函券 盲澄阑 瘤沥茄促.
	MAXCONV= 3;   	// 4 channels
	
	// 4. 盲澄 函券 鉴辑甫 瘤沥茄促.
	CHSELSEQ1 = 0x1350; // 0,5,3,2 鉴辑肺 函券
	
	// 5. EVA 概聪历 脚龋肺 A/D 函券阑 矫累茄促. 
	ADCTRL2 |= 0x4700;
	
	//傈眉 牢磐反飘甫 包厘窍绰 IMR俊辑 秦寸窍绰 牢磐反飘甫 啊瓷窍霸 父电促.
	SET(IMR,INT2_MASK|INT1_MASK);
    EI; 
	
	SCIPrintf("A/D Converting Test\n");
        
	while(1)
	{
	    
	    if(AD_end)
	    {
	    	AD_end = 0;
	      	// A/D 函券蔼阑 矫府倔 烹脚阑 烹秦 傈价茄促. 
	    	sprintf(s,"0:%d 1:%d 3:%d 5:%d\n",AD0,AD1,AD3,AD5);
	    	SCIPrintf(s); 
	    }
	    	
	} 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -