打印
[STM8]

无法进入定时中断

[复制链接]
397|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenjunt|  楼主 | 2019-11-16 17:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void CLK_HSI_Init(void)
{
   CLK_CKDIVR = 0x00;
}
/*====================================================
                *功能说明:初始化16位定时器2、定时周期1ms
                *传入参数:无
                *返回参数:无
======================================================*/
void Time2_Init(void)
{
  CLK_PCKENR1 |= 0x01;  //打开时钟                           
  TIM2_IER  = 0x00;     // 禁止中断,停止定时器
  TIM2_PSCR = 0x01;     //计数器时钟=主时钟/1=16MHZ/1
  TIM2_CNTRH = 0;       //计数器的初值
  TIM2_CNTRL = 0;
  TIM2_ARRH  = 0x1F;    //注意必须保证先写入高8位
  TIM2_ARRL  = 0x60;    //再写入低8    (计算值3936 = 0x1F60)
  TIM2_EGR   = 0x01;    //允许产生更新事件        
  TIM2_CR1   = 0x01;    //b0 = 1,允许计数器工作,b1 = 0,允许
  TIM2_SR1   = 0x00;    //清除TIM2溢出中断标志位
  TIM2_IER   = 0x01;    //允许更新中断,启动定时器
}
/*====================================================
                *功能说明:时钟、定时器设置
                *传入参数:无
                *返回参数:无
======================================================*/
void Init_UserTime(void)
{
  CLK_HSI_Init();
        
  Time2_Init();

  asm("rim");        //打开所有中断
}
/*====================================================
                *功能说明:定时器2中断函数
                *传入参数:无
                *返回参数:无
======================================================*/
#pragma vector=TIM2_OVR_UIF_vector  //0x0D  
__interrupt void TIM2_OVR_UIF_IRQHandler(void)  
{
  TIM2_SR1 = 0x00;     // 清除TIM2溢出中断标志位
  return;
}

int main(void)
{
  Init_UserTime();

  while(1);
}


使用的是STM8L052C6这款芯片,但是进不了定时中断,是为什么啊

使用特权

评论回复
沙发
juventus9554| | 2019-11-16 17:53 | 只看该作者
确认下代码,系统及外设时钟是否正确配置;

使用特权

评论回复
板凳
gongche| | 2019-11-16 17:57 | 只看该作者
中断配置是否正确;

使用特权

评论回复
地板
zhuhuis| | 2019-11-16 17:59 | 只看该作者
中断矢量号是否正确;

使用特权

评论回复
5
dingy| | 2019-11-16 18:02 | 只看该作者
貌似系统时钟初始化有误。

CLK_ICKR   |=  0X1;           
     while(!(CLK_ICKR&0X2));   
  CLK_CKDIVR &=  0X00;      
  CLK_SWR   =    0XE1;

使用特权

评论回复
6
songqian17| | 2019-11-16 18:06 | 只看该作者

寄存器操作;
找个参考代码,比对下就知道了呀

使用特权

评论回复
7
tian111| | 2019-11-16 18:12 | 只看该作者
不建议用寄存器的,用HAL的吧。定时器配置简单的很。

使用特权

评论回复
8
kangzj| | 2019-11-16 18:15 | 只看该作者
别自己配置了,麻烦。

使用特权

评论回复
9
香水城| | 2019-11-20 13:21 | 只看该作者
1、首先确认下定时器跑起来没有
2、除了中断配置正确外,中断矢量的正确或使用正确的启动文件

使用特权

评论回复
10
观海| | 2019-12-10 13:05 | 只看该作者
开启总中断了吗

使用特权

评论回复
11
八层楼| | 2019-12-10 13:08 | 只看该作者
io口配置了吗

使用特权

评论回复
12
晓伍| | 2019-12-10 13:12 | 只看该作者
单步运行看看哪里的问题

使用特权

评论回复
13
晓伍| | 2019-12-10 13:12 | 只看该作者
单步运行看看哪里的问题

使用特权

评论回复
14
磨砂| | 2019-12-10 13:14 | 只看该作者
至少看看进入定时器没有啊

使用特权

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

本版积分规则

718

主题

7868

帖子

5

粉丝