?? 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 + -