Git 学生排队 string kubernetes compilation gdb ACE vue过滤器 vue手册 查看oracle连接数 arraylist删除指定元素 vim跳到文件末尾 vue使用bootstrap oracle行转列函数 mysql插入 python写脚本 python的def python的random模块 python中的if语句 python做界面 java基础 javadate java初学者 javafor循环 java文件路径 java的集合 java程序设计教程 linux目录 linux系统启动过程 java电子书下载 网络适配器驱动 神龙激活 零基础学python 千千静听老版本 ps色阶快捷键 linux定时任务 spss22安装教程 js正则匹配字符串 工程html加密 bz2解压
当前位置: 首页 > 学习教程  > 编程语言

GD32E230开发笔记-GD32E230定时器控制

2021/2/13 18:15:41 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

GD32E230开发笔记-GD32E230定时器控制1.硬件设计2.软件设计定时器的配置3.设计效果4.程序源码1.硬件设计 GD32E230C8T6中定时器的资源还是比较丰富,这里我们调试TIMER5 2.软件设计 定时器的配置 定时器函数的初始化 void TIMER5_init(uint16_t arr,uint16_t p…

GD32E230开发笔记-GD32E230定时器控制

  • 1.硬件设计
  • 2.软件设计
    • 定时器的配置
  • 3.设计效果
  • 4.程序源码

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


本文链接: http://www.dtmao.cc/news_show_700222.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?