打印
[技术问答]

华大HC32F003基本定时器求助

[复制链接]
801|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
/**********TIM1中断函数**********/
void Tim1_IRQHandler(void)//10ms
{
        if (TRUE == Bt_GetIntFlag(TIM1))
        {
                Bt_ClearIntFlag(TIM1);//清除标志位
                if(++Time100ms_Cnt>9) //100ms
                {
                        Falg|=0x01;
                        Time100ms_Cnt=0;
                }
        }
}

/**********TIM1配置**********/
void TIM1_Config(void)
{
        stc_bt_config_t   stcConfig;
        uint16_t          u16ArrData = 55536;                        //10ms中断一次
        uint16_t          u16InitCntData = 55536;       
       
        //开启基础定时器时钟
        Clk_SetPeripheralGate(ClkPeripheralBt, TRUE);
       
        stcConfig.pfnTim1Cb = Tim1_IRQHandler;//TIM1中断入口
       
        stcConfig.enGateP = BtPositive;                //门控极性控制,高电平有效
        stcConfig.enGate  = BtGateDisable;      //门控禁止
        stcConfig.enPRS   = BtPCLKDiv2;         //预除频配置,二分频   PLCK/2=2MHz/2=1MHz
        stcConfig.enTog   = BtTogDisable;       //反转输出使能禁止
        stcConfig.enCT    = BtTimer;                //定时/计数功能选择,当前为定时器功能
        stcConfig.enMD    = BtMode2;                //计数模式配置,当前为自动重装载16位计数器/定时器模式
        //Bt初始化
        Bt_Init(TIM1, &stcConfig);
       
        //TIM1中断使能
        Bt_ClearIntFlag(TIM1);
        Bt_EnableIrq(TIM1);
        EnableNvic(TIM1_IRQn, 3, TRUE);
       
        //设置重载值和计数值,启动计数
        Bt_ARRSet(TIM1, u16ArrData);
        Bt_Cnt16Set(TIM1, u16InitCntData);
        Bt_Run(TIM1);
}


以上代码定时器TIM1运行正常,但是我按照上述方式配置使用TIM0时(将TIM1相关信息改成TIM0),定时器不能运行。不知道是什么原因导致的,望解答谢谢!

使用特权

评论回复
沙发
martinhu| | 2021-4-16 15:38 | 只看该作者
这里改成TIM0了吗

使用特权

评论回复
评论
xhd1099924128 2021-4-17 10:36 回复TA
都改了还是没用。现在使用hc32f005的SDK解决了这个问题,不知道是不是老的003SDK有问题 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

15

帖子

1

粉丝