梁山派(GD32F450ZG)-定时器计时中断配置

本文详细介绍了如何在GD32F4xx微控制器上配置定时器TIME5,以实现每10ms一次的中断。包括系统时钟、APB1时钟的设置,定时器初始化、时钟配置、中断配置,以及中断服务函数的编写。

配置TIME5每10ms中断一次

1、了解系统时钟、APB1时钟、定时器时钟

在这里插入图片描述
由GDF450的数据手册中的时钟树可以看出,定时器5的工作频率是由APB1经过一个倍频器得到,而APB1由AHB通过一个APB1预分频器产生
在这里插入图片描述
在这里插入图片描述
在GD32F4xx标准库3.0.0的system_gd32f4xx.c文件中的系统时钟初始化函数已经将系统时钟配置为200MHz,同时将APB1预分频器设置为➗4,因此APB1时钟为50MHz,而定时器时钟还需要经过一个CK_APB1的倍频器(后面讲)

2、初始化配置

2.1、时钟配置

首先使能定时器时钟

rcu_periph_clock_enable(RCU_TIMER5);

其次在通过调用以下函数设置CK_APB1倍频器参数,此处将CK_APB1设置为✖4,也就是将APB1时钟经过4倍频在提供给定时器使用,使得定时器时钟源频率变大到200MHz

rcu_timer_clock_prescaler_config(RCU_TIMER_PSC_MUL4); 

2.2、定时器配置

进行定时器配置前首先将定时器进行复位操作,防止之前的一些误操作影响

timer_deinit(RCU_TIMER5);

然后创建定时器配置结构体变量,并进行参数配置

timer_parameter_struct timer_initpara;
timer_initpara.prescaler = pre - 1; 	//预分频系数
timer_initpara.alignedmode = TIMER_COUNTER_EDGE; 
timer_initpara.counterdirection = TIMER_COUNTER_UP; 
ti
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值