请大家帮我看下AD中断,为什么进不了?
/*Main.c*/#include "global.c"
void SystemInit();
void KickDog();
void AD_Sample();
unsigned int RESULT_0=0;
main()
{
SystemInit(); //系统初始化
MCRC=MCRC & 0xFF00; //IOPE0-7设为IO口模式(设置管脚)
PEDATDIR=0xFF00; //所有LED=0,
AD_Sample(); //AD初始化
asm(" CLRC INTM ");
while(1)
{
}
}
void SystemInit()
{ asm(" SETC INTM "); /* 关闭总中断 */
asm(" CLRCSXM"); /* 禁止符号位扩展 */
asm(" CLRCCNF"); /* B0块映射为 on-chip DARAM*/
asm(" CLRCOVM"); /* 累加器结果正常溢出*/
SCSR1=0x83FE; /* 系统配置:系统时钟CLKOUT=20*2=40M */
/* 打开ADC,EVA,EVB,CAN和SCI的时钟,系统时钟CLKOUT=40M */
WDCR=0x006F; /* 禁止看门狗,看门狗时钟64分频 */
KickDog(); /* 初始化看门狗 */
IFR=0xFFFF; /* 清除中断标志 */
IMR=0x0001; /* 打开中断1*/
}
void AD_Sample()
{
ADCTRL1=0x4000; /* ADC模块复位 */
asm(" NOP ");
ADCTRL1=0x0040; /* 自由运行,连续模式,双排序器工作模式,高优先级 */
MAXCONV=0x0000;
CHSELSEQ1=0x0000; //第0通道
ADCTRL2=0x4000; //复位使排序器指针指向CONV00
ADCTRL2=0x2400; /* 启动ADC转换,允许中断 */
}
void c_int1() /*AD中断服务程序*/
{
if(PIVR!=0x04)
{ asm(" CLRC INTM ");
return;
}
RESULT_0=RESULT0>>6;
ADCTRL2=ADCTRL2& 0xFFFF;//清除中断标志位
asm(" CLRC INTM ");
}
void KickDog() /*踢除看门狗 */
{
WDKEY=0x5555;
WDKEY=0xAAAA;
}
小弟初学,请各位帮我看下,为什么AD中断进不了,与入口的引用有关联吗?谢谢 好像中断向量表出现问题
请问哪位高手可以提供些2407向量表的说明
谢谢! 没人顶,只有自己顶
页:
[1]