GD32定时器配置

GD32F303CBT6

配置句柄

开启时钟函数:void rcu_periph_clock_enable(rcu_periph_enum periph)

int i =0;

void tick_init (uint_fast16_t prescaler,uint_fast16_t period)
{
    timer_parameter_struct timer_struct;
    rcu_periph_clock_enable(RCU_TIMER2);
    
    timer_struct.period = period;
    timer_struct.counterdirection = TIMER_COUNTER_UP;
    timer_struct.prescaler = prescaler;
    timer_struct.clockdivision = 0;
    timer_struct.alignedmode = 0;
    
    
    timer_init(TIMER2,&timer_struct); 
    timer_interrupt_enable(TIMER2,TIMER_INT_UP);
    nvic_irq_enable(TIMER2_IRQn,2,2);
    timer_enable(TIMER2);
}


void TIMER2_IRQHandler (void)
{
   if ( timer_interrupt_flag_get(TIMER2,TIMER_INT_FLAG_UP)!=RESET)
   {
       i++;
       timer_interrupt_flag_clear(TIMER2,TIMER_INT_FLAG_UP);
   }
}


int main(void)
{
	systick_config(); 
	tick_init(5000-1,12000-1);
	rcu_periph_clock_enable(RCU_GPIOC); 
	gpio_init(GPIOC, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_13); 
	nvic_priority_group_set(NVIC_PRIGROUP_PRE2_SUB2);
    while(1)
	{
		gpio_bit_reset(GPIOC, GPIO_PIN_13); 
        if(i>=3)
        {
            gpio_bit_set(GPIOC, GPIO_PIN_13);
            delay_1ms(1000);
            i = 0;
        }
	}
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值