lucky67 发表于 2017-6-22 10:59:40

求助,stm8S105进不了TIM2中断的问题。

测试一个stm8s105的tim2延时函数,但总是进不了中断。麻烦大家帮我看看问题出在哪里。多谢了!代码简化了,方便大家查看。之前试过是可以的,但后来不小心改动程序,一下子晕头了,怎么搞都不对了:'(
代码如下:
#include "iostm8.h"

int main(void){
    CLK_ECKR = 0x00;    //关闭外部时钟
    CLK_ICKR = 0x01;    //开启内部高速时钟 16M
    CLK_CKDIVR = 0x00;//cpu不分频 16M
   
    __asm("sim");
   
    //Clock_Config();
   // TIM2_Init();
   TIM2_PSCR = 0x04;    //16分频 1us一个数
    TIM2_ARRH = 0x03;   
    TIM2_ARRL = 0xE7;    //999计算1000次
    TIM2_IER= 0x01;    //允许更新中断
    TIM2_CR1= 0x01;    //使能计数器
    __asm("rim");
   
    while(1){
      unsigned int t=1000;
      if(t>1){t--;}
    }
}


//中断函数
#pragma vector = 0x0F
__interrupt void TIM2_UPD_OVF_TRG_IRQHandler(void)
{
    asm("nop");
    TIM2_SR1 = 0x00;//清空标志位
}

valetang-126879 发表于 2017-6-26 17:14:15

TIM2的时钟没有使能吧

lucky67 发表于 2017-6-29 22:04:12

终于搞明白了。我原来是虚拟仿真,无法进入。如果用硬件仿真就可以。
页: [1]
查看完整版本: 求助,stm8S105进不了TIM2中断的问题。