这里写目录标题
配置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

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

3133

被折叠的 条评论
为什么被折叠?



