📄 ad_2.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 + -