fengmailx 发表于 2015-7-9 10:33:19

STM8S105 TIMER4无法运行


STM8S105   单片机进行TIMER4初始化用来计时,但是只要打开全局中断就会进入中断向量表TLI中断,并且TIMER4中断服务程序似乎并没有执行,帮忙看看是怎么回事?



void Timer4Init(void)
{
        CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER4, ENABLE);
        TIM4_TimeBaseInit(TIM4_PRESCALER_128, 125);                 // 8us/Tick, 125x8=1000us,1mS
        TIM4_ClearFlag(TIM4_FLAG_UPDATE);
        TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE);
        enableInterrupts();
        TIM4_Cmd(ENABLE);
}

fengmailx 发表于 2015-7-9 10:37:14

不知道为什么程序总是进入TLI中断

MrJiu 发表于 2015-7-9 10:48:06

void InitTime4(void)
{
    /*      
   * TIM41ms 16M
   */
    CLK->PCKENR1 |= 0X10;
    SoftDelay(100);
    TIM4->EGR = 0X01;
    TIM4->IER = 0X01;
    TIM4->PSCR = 0X06;
    TIM4->CNTR = 0XFA; //250
    TIM4->ARR = 0XFA; //250
    TIM4->CR1 = 0X01;

    /* 使能全局中断 */
    __asm("rim");
}

寄存器版的,STM8S系列从不用库.......晶振是16M的,定时1MS一中断....

MrJiu 发表于 2015-7-9 10:48:23

只能帮你到这里了................

fengmailx 发表于 2015-7-9 10:51:20

我试过 直接用寄存器的操作,也是一样的结局,跳到向量表TLI中断处,死在那了。

zhuoyemp4 发表于 2015-7-9 11:52:10

PD7是外部最高优先级的中断源,看看是不是开了PD7的中断

魅影迷踪 发表于 2015-7-9 12:24:42

应该还是配置问题

alvin_ 发表于 2015-7-9 13:47:15

fengmailx 发表于 2015-7-9 10:37
不知道为什么程序总是进入TLI中断

总是进入TLI……那你看你TLI管脚有没有问题!硬件

moyanming2013 发表于 2015-7-9 15:24:53

不懂,顶顶

fengmailx 发表于 2015-7-9 22:02:13

zhuoyemp4 发表于 2015-7-9 11:52
PD7是外部最高优先级的中断源,看看是不是开了PD7的中断

我将PD7设置成输出模式,这时候应该没有中断了把,还是进入了TLI中断向量入口点
页: [1] 2
查看完整版本: STM8S105 TIMER4无法运行