打印

MC9S0AC16单片机定时器2中断打开,定时器1中断不工作

[复制链接]
1767|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qiufengxiaoxiao|  楼主 | 2012-9-12 14:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是时钟的初始化:
   //Initialize internal clock:5.4MHz bus frequency
ICGTRM = 0x80;//周期调整
ICGC1 = 0x28;
ICGC2 = 0x31;
while(ICGS1_LOCK == 0); //0时当前没有锁  1时锁定  ,等待锁定
定时器一的初始化:
void InitTPM1(void)
{
TPM1SC = 0x4e;
TPM1MODH = 0x03;
TPM1MODL = 0x64; //86.786KHz / 868 = 100Hz
}

interrupt void _TPM1Interrupt(void)
{
unsigned char TPM1Buffer;
TPM1Buffer = TPM1SC;
TPM1SC_TOF = 0; //clear TOP Flag
TPM10mSInterrupt = 1;
}

定时器2的初始化:
void InitTPM2(void)
{
    TPM2SC = 0x4d;//总线时钟
    TPM2MODH = 0x00; //
   TPM2MODL = 0x11; //125KHz / 25 = 5KHz(100uS)  模值
}

interrupt void _TPM2Interrupt(void)
{
    unsigned char TPM2Buffer,i,j;
   TPM2Buffer = TPM2SC; //read TOM1SC
   TPM2SC_TOF = 0; //clear TOP Flag
    i=j=0;
//读红外输入口
//……
}

若开启定时器2中断,用仿真器运行,定时器1就挂掉,不起作用;
若删掉InitTPM2()语句,关闭定时器2,定时器1正常,程序正常运行,求各路大侠们解答???

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

24

帖子

1

粉丝