打印
[技术讨论]

gd单片机定时器不工作

[复制链接]
7336|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zjqq123456|  楼主 | 2021-9-28 16:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void TIM1_Init(void)
{
         rcu_periph_clock_enable(RCU_TIMER1);
    timer_parameter_struct timer_initpara;

    timer_deinit(TIMER1);

    /* TIMER0 configuration */
   timer_initpara.prescaler         = 11;//count clk = 120M/12=10Mhz //配置好后, 无法工作
    timer_initpara.alignedmode       = TIMER_COUNTER_EDGE;
    timer_initpara.counterdirection  = TIMER_COUNTER_UP;
       
        // timer_initpara.period            = 29999;//300毫秒进一次中断
        timer_initpara.period            =  4999;//100毫秒进一次中断
    timer_initpara.clockdivision     = TIMER_CKDIV_DIV1;
    timer_initpara.repetitioncounter = 0;
    timer_init(TIMER1,&timer_initpara);
}
==================================================
上面代码 配置定时器1,计数时钟是10M, 为什么没法工作? 有哪位大神知道吗?

使用特权

评论回复

相关帖子

沙发
tyw| | 2021-9-28 17:52 | 只看该作者
GD32F30x系列MCU用户手册_Rev2.5.pdf (13.24 MB)

使用特权

评论回复
板凳
13775972833| | 2021-9-29 06:29 | 只看该作者

这是我在使用的
void timer1_config(unsigned int prr,unsigned int cou)  // clock  108MHz
{
          // clock  108MHz
    timer_parameter_struct    timer_initpara;
    rcu_periph_clock_enable(RCU_TIMER1);
    timer_deinit(TIMER1);
    /* TIMER1 configuration */
    timer_initpara.prescaler         = prr;
    timer_initpara.alignedmode       = TIMER_COUNTER_EDGE;
    timer_initpara.counterdirection  = TIMER_COUNTER_UP;
    timer_initpara.period            = cou;
    timer_initpara.clockdivision     = TIMER_CKDIV_DIV1;
    timer_initpara.repetitioncounter = 1;
    timer_init(TIMER1,&timer_initpara);
    NVIC_SetPriority(TIMER1_IRQn, 1U);
    /* auto-reload preload disable */
    timer_auto_reload_shadow_enable(TIMER1);
    timer_enable(TIMER1);
    nvic_irq_enable(TIMER1_IRQn, 1, 0);
    timer_interrupt_enable(TIMER1, TIMER_INT_UP);               
}

使用特权

评论回复
地板
呐咯密密| | 2021-9-30 11:40 | 只看该作者
没使能定时器啊

使用特权

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

本版积分规则

3

主题

3

帖子

0

粉丝