打印

请教:用COSMIC软件仿真为什么一直进不了TIM4中断?

[复制链接]
2207|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hunqianmenyin|  楼主 | 2009-12-8 13:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟第一次用103K3这个单片机,准备用TIM4做一个主循环里面的1ms定时用,照抄了例程的TIM4的初始化之类的函数,但是软件仿真就是进不了TIM4的定时中断,不晓得什么原因啊 哪位大哥能指导一下啊。
void main(void)
{

  TIM4_DeInit();
  TIM4_TimeBaseInit(TIM4_PRESCALER_1,1);
  TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE);
  enableInterrupts();

  TIM4_Cmd(ENABLE);

  while (1)
  {
   
  }
}
沙发
zhaoxinzxzx| | 2009-12-8 14:25 | 只看该作者
103K3的TIM4与207/208/105不同,楼主还是详细研究一下Datasheet吧
改例程要注意一下头文件中对芯片型号的宏定义

使用特权

评论回复
板凳
hsbjb| | 2009-12-8 20:55 | 只看该作者
建议你看看头文件,看到底有没有开中断这条语句

使用特权

评论回复
地板
司徒老鹰| | 2009-12-8 21:55 | 只看该作者
不会是头文件的问题吧

使用特权

评论回复
5
solarmax1969| | 2012-8-22 08:29 | 只看该作者
我碰到一样问题啊!
STM8L151K4T6,TIM4 做一秒定时,死活不出中断,通过调试发现,所以赋值语句执行后,寄存器的值还是0x00!
1楼的兄弟,你debug 下,看看寄存器的值被设置了吗?

使用特权

评论回复
6
solarmax1969| | 2012-8-24 07:51 | 只看该作者
STM8L151K4T6 内部设置启用,需要给它喂时钟!!
现在我上面的问题解决了。
void Clock_Init(void)
{
        CLK_CKDIVR = 0x03; //8分频
        CLK_ICKCR  = 0x11; //启用内部RC=16mhz
        while((CLK_ICKCR & 0x02)==0); //等待时钟稳定

  CLK_PCKENR1  = 0xff;        //定义,时钟提供给设备
        CLK_PCKENR2 |= 0b00111111;  //定义,时钟提供给设备
}

使用特权

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

本版积分规则

3

主题

4

帖子

1

粉丝