1. 程式人生 > 其它 >GD32E230開發筆記-GD32E230定時器控制

GD32E230開發筆記-GD32E230定時器控制

技術標籤:GD32E230微控制器gd32stm32

GD32E230開發筆記-GD32E230定時器控制

1.硬體設計

GD32E230C8T6中定時器的資源還是比較豐富,這裡我們除錯TIMER5
在這裡插入圖片描述

2.軟體設計

定時器的配置

定時器函式的初始化

void TIMER5_init(uint16_t arr,uint16_t psc)
{
    timer_parameter_struct timer_initpara;
    rcu_periph_clock_enable(RCU_TIMER5);		/* 使能TIMER5時鐘 */
/* TIMER5 初始化配置 */ timer_deinit(TIMER5); timer_initpara.prescaler = psc; /* 時鐘預分頻係數 */ timer_initpara.period = arr; /* 自動重灌載值 */ timer_init(TIMER5,&timer_initpara); nvic_irq_enable(TIMER5_IRQn, 3); /* TIMER2中斷設定,搶佔優先順序3,子優先順序3 */ timer_interrupt_enable
(TIMER5,TIMER_INT_UP); /* 使能更新中斷 */ timer_enable(TIMER5); }

定時器中斷函式,這裡主要完成定時器的動作。

void TIMER5_IRQHandler(void)
{		
		timer_flag_clear(TIMER5,TIMER_FLAG_UP);		/* 定時器更新中斷的標識位需要手動清除 */
		flag++;
		if(flag%2==0){
			gpio_bit_set(GPIOA,GPIO_PIN_7);	
			gpio_bit_set(GPIOA,GPIO_PIN_8);
		}
		else{
			gpio_bit_reset
(GPIOA,GPIO_PIN_7); gpio_bit_reset(GPIOA,GPIO_PIN_8); } }

3.設計效果

在這裡插入圖片描述

4.程式原始碼

通過定時器控制LED的閃爍原始碼GD32E230C8T6定時器控制LED