测试一个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; //清空标志位 }复制代码
评分
查看全部评分