96SEO 2026-02-19 17:19 33
三、定时器寄存器分析1、控制寄存器TIMERx_CTL0)2、DMA

四、定时器的配置1时钟使能2初始化定时器参数3设置允许更新中断。
即TIMERx-DMAINTEN4中断优先级设置。
5使能定时器6编写中断服务函数
五、定时器核心配置示例定时1ms六、定时器定时溢出时间计算1、定时器的时钟源。
2、定时器频率3、自动重装载值
定时功能设置不同时间长度的定时。
系统滴答定时器一般用来提供“心跳”作用如延时操作、周期性任务调度、测试某段代码的执行时间等。
中断触发定时器可以在达到设定的计数值时产生中断从而触发中断服务程序。
这种机制使得CPU可以在处理其他任务的同时响应定时器的中断请求执行相应的中断服务程序。
这对于需要实时响应的应用场景非常有用如实时数据采集、实时控制等。
与GPIO一起实现外设功能。
如PWM输入捕获、输出比较、DMA、占空比等。
其中PWM脉冲宽度调制输出应用于控制电机、调节亮度、产生音频等场景的信号。
通过配置定时器的PWM模式和相关参数可以精确地控制PWM信号的频率和占空比从而实现对外部设备的精确控制。
外部事件计数GD32F350的定时器还可以用于测量外部事件的频率或计数外部事件的发生次数。
通过将定时器的输入连接到外部信号源可以实现对外部信号的精确测量和计数。
以GD32为例此款芯片共有8个定时器。
分三大类高级定时器、通用定时器和基本定时器。
2、时钟树
高级定时器TIMER0是四通道定时器支持输入捕获和输出比较。
可以产生PWM信号控制电机和电源管理。
定时器和定时器之间是相互独立但是它们可以被同步在一起形成一个更大的定时器这些定时器的计数器一致地增加。
基本定时器仅有一个时钟源TIMER_CK用来驱动计数器预分频器。
当CEN置位TIMER_CK
经过预分频器预分频值由TIMERx_PSC寄存器确定产生PSC_CLK。
在软件将CEN位置1后外部时钟、暂停模式和编码器模式才能工作。
触发模式可
|(uint32_t)TIMER_CTL0_CEN;2、DMA
(uint32_t)interrupt;//timer_interrupt_enable()
(uint32_t)dma;//timer_dma_enable()3、预分频寄存器
(uint16_t)initpara-prescaler;//设置预分频值常用在定时器的初始化中如timer_init()
(TIMERx_CAR)在物理上对应着两个寄存器。
一个是可以直接操作的一个是看不到的。
看不到的那个寄存器叫影子寄存器其实真正起作用的是影子寄存器。
由控制寄存器TIMERx_CTL0)中的ARSE位的设置
0禁能TIMERx_CAR寄存器的影子寄存器。
在这种情况下对TIMERx_CAR寄存器的直接写操作将直接修改该寄存器的值而没有备份或影子值。
预装载寄存器的内容可随时传送到改寄存器此时两者是相通的。
当ARSE1使能TIMERx_CAR寄存器的影子寄存器当启用影子寄存器时对TIMERx_CAR寄存器的写操作实际上首先会更新影子寄存器的值。
在某些特定的条件或事件如硬件复位或特定的同步事件发生时影子寄存器的值会被复制到主寄存器中从而确保主寄存器中的值始终是一个可靠和一致的备份。
在每一次更新事件时才把预装载寄存器的内容传送到影子寄存器自动重装载寄存器的位描述如上所示。
该寄存器用来标记当前与定时器相关的各种事件/中断是否发生。
其位描述如下
一旦中止输入有效由硬件对该位置‘1’。
如果中止输入无效则该位可由软件清‘0’。
通过库函数进行配置相关的库函数有gd32f20x_timer.h
TIMERx是挂在APB1之下的通过APB1总线下的使能函数来使能TIMERx。
例如
rcu_periph_clock_enable(RCU_TIMER5)2初始化定时器参数
定时器的初始化参数是通过初始化函数timer_init实现的。
例如
因为我们要使用TIMER5的更新中断,寄存器的相应位便可使能更新中断。
在库函数里面定时器中断使能是通过timer-interrupt-enable()函数来实现的。
timer_interrupt_enable(uint32_t
timer_periph选择定时器取值为TIMERx(x0.13).
interrupt用来指明使能的定时器中断的类型定时器中断的类型有很多种包括TIMER-INTUP、TIMER_INT_TRG、TIMER_INT_BRK、TIMER_INT_CH0等。
timer_interrupt_enable(TIMER5,TIMER_INT_UP);4中断优先级设置。
定时器中断使能后因为要产生中断所以要设置中断NVIC相关寄存器设置中断优先级。
{nvic_priority_group_set(NVIC_PRIGROUP_PRE1_SUB3);nvic_irq_enable(TIMER5_IRQn,
允许定时器工作即开启定时器。
配置完定时器后要启动定时器通过TIMER_CTL0的TIMER_CTL0_CEN来设置通常是通过函数timer_enableTIMERx来实现。
例如
此函数的功能是用来处理定时器产生的相关中断。
在中断产生后通过状态寄存器的值去判断此次产生的中断属于什么类型。
然后执行相关的操作大多使用更新(溢出)中断即中断标志寄存器TIMER_INTF的最低位。
处理完中断之后应想TIMER_INTF最低位写零来清楚中断标志。
timer_interrupt_flag_get(TIMER1,TIMER_INT_UP)
{timer_interrupt_flag_clear(TIMER1,TIMER_INT_UP);//清除中断标志位//其它程序……}五、定时器核心配置示例定时1ms
rcu_periph_clock_enable(RCU_TIMER1);
timer_deinit(TIMER5);/*初始化定时器参数*//*
TIMER_COUNTER_EDGE;timer_initpara.counterdirection
TIMER_COUNTER_UP;timer_initpara.period
999;timer_initpara.clockdivision
TIMER_CKDIV_DIV1;timer_init(TIMER5,
timer_initpara);timer_auto_reload_shadow_enable(TIME5);timer_interrupt_flag_clear(TIMER5,TIMER_INT_UP);/*
timer_interrupt_enable(TIMER5,TIMER_INT_UP);
3nvic_priority_group_set(NVIC_PRIGROUP_PRE1_SUB3);nvic_irq_enable(TIMER5_IRQn,
rcu_periph_clock_disable(RCU_TIMER5);/*先关闭等待使用*/
timer_interrupt_flag_get(TIMER5
{timer_interrupt_flag_clear(TIMER5
configurationsystemclk_init();/*
rcu_periph_clock_enable(RCU_TIMER1);while(1)
timer_interrupt_flag_get(TIMER5,
TIMER_INT_FLAG_UP)){timer_interrupt_flag_clear(TIMER5,
TIMER_INT_FLAG_UP);if(timer_val)
configurationsystemclk_init();/*
rcu_periph_clock_enable(RCU_TIMER1);while(1)
以下均以基本定时器time5为例time5在APB1后分频所得
其时钟初始化代码在system_stm32f20x.c定义的这里使用的默认配置具体时钟设置函数是system_clock_72m_hxtal()代码如下
TIMER5上的时钟为72Mhz定时器分频系数为71因此TIME5的频率为
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback