回答

收藏

开箱试验GD32450VE

GD32 GD32 3298 人阅读 | 0 人回复 | 2017-05-30

收到GD32F450有段时间了,偶尔有空看看,原来以为和ST的完全兼容,准备拿来公司做项目用的,后来发现差别还是挺大的,里面的定时器用STCubeMX生成后只有一个定时器可以正常,其他都不能使用,还需要花时间去学习习惯GD的驱动代码库
自己花时间写了一个定时器的代码发现不能进入中断,pend不能置位
void inittimer(void)
{
     timer_parameter_struct* timer_initpara ;
     timer_break_parameter_struct timer_breakpara;
    rcu_periph_clock_enable(RCU_TIMER1);
    rcu_timer_clock_prescaler_config(RCU_TIMER_PSC_MUL4);
    timer_deinit(TIMER1);
    timer_initpara->prescaler = 63;
    timer_initpara->alignedmode = TIMER_COUNTER_EDGE;
    timer_initpara->clockdivision = TIMER_CKDIV_DIV1;
    timer_initpara->counterdirection = TIMER_COUNTER_UP;
    timer_initpara->period = 2000-1;
    timer_initpara->repetitioncounter = 0;
   
    //timer_breakpara.breakpolarity
   
    timer_init(TIMER1,timer_initpara);
    timer_input_trigger_source_select(TIMER1,TIMER_SMCFG_TRGSEL_ITI0);
    //timer_primary_output_config(TIMER0,ENABLE);
    //timer_slave_mode_select(TIMER0,TIMER_SLAVE_MODE_EVENT);
    timer_interrupt_enable(TIMER1,TIMER_INT_UP);
    /* auto-reload preload enable */
    //timer_auto_reload_shadow_enable(TIMER0);
    //timer_interrupt_enable(TIMER0,TIMER_INT_TRG);
   
    timer_enable(TIMER1);
   
}
/**
    \brief      configure the nested vectored interrupt controller
    \param[in]  none
    \param[out] none
    \retval     none
  */
void nvic_configuration(void)
{
    nvic_priority_group_set(NVIC_PRIGROUP_PRE1_SUB3);
    nvic_irq_enable(TIMER1_IRQn, 1, 3);//TIMER0_CC_IRQn
}

WeChat Image_20170518225236.jpg (81.14 KB, 下载次数: 78)

WeChat Image_20170518225236.jpg

WeChat Image_20170518225309.jpg (57.83 KB, 下载次数: 86)

WeChat Image_20170518225309.jpg

WeChat Image_20170518225317.jpg (68.56 KB, 下载次数: 81)

WeChat Image_20170518225317.jpg
分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条