STM32
直播中

杨海清

7年用户 1691经验值
私信 关注
[问答]

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;  //清空标志位
  • }


回帖(1)

姜雨孜

2024-5-7 09:49:58
是虚拟仿真,无法进入。如果用硬件仿真就可以。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分