135 发表于 2023-2-6 14:37:53

求助,stc8g1k08a-8pin,不可屏蔽中断的16位重装载模式

本帖最后由 135 于 2023-2-6 14:40 编辑

不可屏蔽中断的16位重装载模式,无法成功启动,用的是STC8G的官方库,代码如下


#include "timer.h"
#include "gpio.h"

void Timer_config(void) {
        TIM_InitTypeDef TIMx;
       
        TIMx.TIM_Mode = TIM_16BitAutoReloadNoMask;
        TIMx.TIM_Priority = Priority_0;
        TIMx.TIM_Interrupt = ENABLE;
        TIMx.TIM_ClkSource = TIM_CLOCK_12T;
        TIMx.TIM_ClkOut = DISABLE;
        TIMx.TIM_Value = 0xffff + 1 - 1000;
        TIMx.TIM_Run = ENABLE;
       
        Timer_Inilize(Timer0, &TIMx);
}

void GPIO_config(void) {
        GPIO_InitTypeDef GPIOx;
       
        GPIOx.Mode = GPIO_PullUp;
        GPIOx.Pin = GPIO_Pin_2;
       
        GPIO_Inilize(GPIO_P3, &GPIOx);
}

void main() {
        GPIO_config();
        Timer_config();
        EA = 1;
        while(1) {
               
        }
}


中断函数如下


void timer0_int (void) interrupt TIMER0_VECTOR
{
        static u16 count = 0;
        if(++count >= 1000) {
                count = 0;
                P32 = !P32;
        }
}


请问哪里出了问题,感谢大佬

梁工 发表于 2023-2-6 15:42:37

初始化完后,有TR0=1吗?

32G12K128 发表于 2023-2-6 17:10:02

可以再对比下官网的库函数:




135 发表于 2023-2-6 19:12:29

STC32G12K128 发表于 2023-2-6 17:10
可以再对比下官网的库函数:

用的是官方的,这个例程看了,里没有不可屏蔽的16位重装载模式的例子:'(

135 发表于 2023-2-6 19:19:41

梁工 发表于 2023-2-6 15:42
初始化完后,有TR0=1吗?

设置TR0 = 1了,但是还是不行
头发都要掉完了:'(

梁工 发表于 2023-2-7 10:30:51

135 发表于 2023-2-6 19:19
设置TR0 = 1了,但是还是不行
头发都要掉完了

先测试我司的定时器程序(直接下载例子的HEX文件测试),确定定时器已经正常,然后再修改模式,编译下载测试。

135 发表于 2023-2-12 18:33:30

梁工 发表于 2023-2-7 10:30
先测试我司的定时器程序(直接下载例子的HEX文件测试),确定定时器已经正常,然后再修改模式,编译下载 ...

好的,我试试
页: [1]
查看完整版本: 求助,stc8g1k08a-8pin,不可屏蔽中断的16位重装载模式