95756618 发表于 2024-8-13 23:47

请问下HC32L110系列如何开启基本定时器

    stc_bt_config_t stcConfig;
    en_result_t en_result = Error;
    uint32_t u32InitCntData = 0xffff0000;
    DDL_ZERO_STRUCT(stcConfig);

    /* 对外部exit0计数 gpio配置 */
    Gpio_SetFunc_TIM0_EXT_P34();

    stcConfig.enGateP = BtPositive;
    stcConfig.enGate = BtGateDisable;
    stcConfig.enPRS = BtPCLKDiv8;
    stcConfig.enTog = BtTogDisable;
    stcConfig.enCT = BtTimer;/* 定时器模式 */
    stcConfig.enMD = BtMode2; /* 16位自动重装 */

    stcConfig.pfnTim0Cb = cola_timer_ticker;

    if(Ok != Bt_Init(TIM0, &stcConfig))
    {
      en_result = Error;
    }
    /* irq enable */
    Bt_ClearIntFlag(TIM0);
    EnableNvic(TIM0_IRQn, 3, TRUE);
    Bt_EnableIrq(TIM0);
    /* 1s/(24M/8分频/3) = 1us */
    Bt_ARRSet(TIM0, 3 -1);
    Bt_Cnt16Set(TIM0, 1000-1);/* 1us*1000 = 1ms定时器中断 */
    Bt_Run(TIM0);


我这样配置为什么进入不了定时器中断?第一次用这个单片机,求大佬解答下

liu96jp 发表于 2024-9-13 13:09

在你的代码中,你已经配置了定时器TIM0,并设置了中断回调函数cola_timer_ticker。然而,你提到无法进入定时器中断。最好是要检查一下中断向量表

ex7s4 发表于 2024-9-13 14:16

确保中断向量表中正确配置了TIM0的中断处理函数。通常,中断向量表在启动文件(如startup_hc32f460.s)中定义

kaif2n9j 发表于 2024-9-13 15:25

建议保证中断处理函数cola_timer_ticker正确实现,并且在中断向量表中正确指向

q1d0mnx 发表于 2024-9-13 16:28

你已经调用了EnableNvic和Bt_EnableIrq来使能中断,但确保这些函数正确实现,并且没有被其他代码禁用。

p0gon9y 发表于 2024-9-13 18:00

检查定时器配置,确保定时器的配置参数正确,特别是分频系数和自动重装值

w2nme1ai7 发表于 2024-9-13 19:15

在进入中断处理函数之前,确保中断标志被正确清除。

q1ngt12 发表于 2024-9-13 20:33

在cola_timer_ticker函数中添加调试输出(如LED闪烁或串口输出),以确认是否进入中断处理函数

zhizia4f 发表于 2024-9-14 09:30

检查中断向量表:看看中断向量表是否配置正确

y1n9an 发表于 2024-9-14 10:23

一般开启基本定时器应该很简单吧,你可以直接参考例程进行修改啊

su1yirg 发表于 2024-9-14 13:05

定时器中断的优先级是否配置正确?还有就是定时器你配置初始化了没?

键盘手没手 发表于 2024-10-2 22:00

第一次用这个单片机

yutingwei 发表于 2024-12-31 00:37

你设置了PCLK分频为8 ,这意味着定时器的时钟将为PCLK的1/8。然后你用ARR = 3 - 1 设置定时器的重载值,这将会影响定时器的周期。

Amazingxixixi 发表于 2024-12-31 14:20

学习一下,

nopear6 发表于 2025-1-6 16:30

楼主,解决了吗 ,我这里同样进不去中断,用官方的例程也不行

nopear6 发表于 2025-1-6 17:02

hc32l110 写bt驱动的真是个**,cnt32寄存器那里写的有问题,需要删掉RSV,要不然寄存器对不上。不知道那些使用基础定时器的,你们真的能进中断吗

地瓜patch 发表于 2025-1-21 21:25

从官网找例程,从开发板找例程

wang6623 发表于 2025-4-30 22:33

你设置的定时器模式为 BtMode2(16位自动重装模式),需要确保定时器的自动重装和计数器配置正确,以确保它能够在正确的时间触发中断。
页: [1]
查看完整版本: 请问下HC32L110系列如何开启基本定时器