SEO技术

SEO技术

Products

当前位置:首页 > SEO技术 >

如何设计一个既美观又实用的网站?

96SEO 2026-02-20 09:21 21


及PWM呼吸灯实例解读

通用定时器原理定时器的内部时钟源通用定时器TIM9-TIM14的对比共同点区别

如何设计一个既美观又实用的网站?

定时器框图理解和分析TIM10/TIM11/TIM13/TIM14输入捕获输出比较

TIM9和TIM12独立通道输入滤波器边沿检测器输入捕获选择器预分频器捕获比较寄存器

PWM呼吸灯实例及解读配置界面与寄存器PWM模式代码分析初始化代码分析初始化代码涉及的寄存器

main函数中我们添加的代码在初始化阶段调用的函数while(1)里添加的代码

寄存器分析TIMx_DIERTIMx_SRTIMx_EGRTIMx_CNTTIMx_PSCTIMx_ARRTIMx_CCR1

参考文献

STM32F4的定时器分为高级定时器通用定时器和基本定时器。

上一篇文章已经讲了基本定时器。

本文遵从由简入繁的原则先讲解通用定时器的原理并通过PWM实例帮助大家加深对通用定时器的理解最后介绍通用定时器的寄存器旨在帮助大家逐步掌握通用定时器的全部功能。

本文一万余字我倾注了些心血如果对您有帮助还请点赞、收藏、转发、评论谢谢

TIM2-TIM5TIM9和TIM12TIM10/TIM11/TIM13/TIM14

虽然都是通用定时器也有细微的差别。

本文讲解TIM10/TIM11/TIM13/TIM14和TIM9和TIM12两个部分。

小贴士

通用定时器的寄存器有些名称中含有CC指的是“捕获/比较”即Capture/Compare与独立通道的设置相关可以将通道设置成输入型的也可以设置成输出型的。

输入则对应着捕获输出则对应着比较。

我们打开《STM32F4英文参考手册》看到时钟章节有时钟树这里截取我们关心的定时器时钟。

看得出来芯片设计者对定时器和其他的外设是区别看待的。

很明显对于APB1和APB2都是一样的。

由于STM32F4主频最高是168MHz我们就假定SYSCLK

就拿APB1举例如果APB1的分频系数是1也就是说外设的工作频率是168MHZ那么定时器的工作频率也是168MHZ

但如果APB1的分频系数不是1比如说是2那么外设的工作频率是84MHz这个时候定时器的工作频率是84MHz的2倍也就是168MHZ。

如果APB1的分频系是4那么外设的工作频率是42MHz这个时候定时器的工作频率是42MHz的2倍也就是84MHZ。

共同点

都是16位的自动重装载递增计数器只能递增16位可编程预分频器都拥有独立通道用于输出比较、输入捕获、PWM生成、单脉冲模式输出可以产生中断的方法更新、输入捕获、输出比较

TIM9和TIM12比TIM10/TIM11/TIM13/TIM14多的功能

使用外部信号控制定时器且可实现多个定时器互连的同步TIM9和TIM12拥有独立通道的数量比较多分别有2个通道而TIM10/TIM11/TIM13/TIM14只有1个通道。

相比而言TIM9和TIM12生成中断的条件多了一个触发事件计数器启动、停止、初始化或者由内部触发器计数

TIM9-TIM14功能说明

TIM10/TIM11/TIM13/TIM14和基本定时器一样只有内部时钟CL_INT作为时钟源。

使用外部时钟模式通过外部引脚输入时钟使用内部触发输入ITRx连接其他定时器的触发输出

对于TIM10/TIM11/TIM13/TIM14在基本定时器一文中已经有介绍时钟所以这里只介绍TIM9和TIM12。

000——禁止从模式定时器的时钟由内部时钟提供。

本定时器独立计数不听命于其他100——复位模式出现所选触发输入TRGI的上升沿时重新初始化定时器并产生更新事件101——门控模式触发输入TRGI为高电平的时候才使能计数器时钟TRGI为低电平就立即停止计数但不会复位计数器。

什么时候计数什么时候暂停计数完全取决于别人的脸色适用于计算按键按下去的时间的场景。

110——触发模式触发信号TRGI出现上升沿则启动计数但不复位。

别人一声令下本定时器启动计数但什么时候停止不听别人的。

111——外部时钟模式1在所选触发输入的上升沿驱动计数器。

定时器框图理解和分析

当然这两张图片是定时器的精髓把这两张图看明白了我们就掌握定时器了。

“老太太吃柿子——捡软的捏”咱们先看第二幅图一眼望去除了下面多了一个通道上面的部分和基本定时器完全一样。

而这条通道左边是外部引脚TIMx_CH1右边也是TIMx_CH1。

纳尼什么意思其实是这样的它只是把一个引脚的功能“展开”了一个定时器外部引脚既可以输入也可以输出。

但不可能同时输入和输出除非不同的引脚复用到这一个定时器上然后让定时器分时复用这种情况非常罕见所以我们就当它是一个引脚就行。

输入捕获

“输入捕获”是对外部引脚输入的信号而言的“输出比较”是对输出的信号而言的分别对应着图上独立通道的左右两边。

如果这个引脚作为“输入捕获”功能那么我们就不看右边的那半条通道。

左边输入的时钟经过滤波器和边沿检测器给到预分频器最后给了捕获/比较寄存器通过计数值和这个寄存器的值相比然后得出输入的时钟信息比如高电平持续了多久

输出比较

如果这个引脚作为“输出比较”功能那么我们就不看左边的那半条通道只看右边捕获/比较寄存器往右的这半条通道即可。

相比之下如果是“输入捕获”则捕获/比较寄存器的值是随着输入信号写进去的不是我们用户通过代码写值进去的但如果是“输出比较”则捕获/比较寄存器的值是我们用户通过写寄存器写值进去的。

并且这个值可以随时被我们改变这就是PWM的生成逻辑。

到此第二张图TIM10/TIM11/TIM13/TIM14定时器框图已经分析完毕。

这里先给大家简单介绍一下下面讲TIM9和TIM12的时候涉及寄存器的内容在这里也可以对应。

TIM9和TIM12

现在我们看第一张图片TIM9和TIM12定时器框图。

是不是比第二张图复杂了一些不过对比之后发现也没太复杂请听我一一道来。

从独立通道的数量来看TIM9和TIM12拥有2条从外部引脚TIMx_CH1或者TIMx_CH2进来就是TI1和TI2。

从左到右这两条独立通道基本上完全一样。

但也有唯一的区别对于TI1经过输入滤波和边沿检测之后可以成为TI1F_ED连接到上面的选择器与TRC共同被选择。

其他方面两个独立通道是完全一样的。

当SMS位等于111时就选择TI1F_ED作为定时器的外部时钟每个上升沿都触发一次计数。

关于SMS前文已有讲解此处不赘述

输入滤波器

1、首先我们要考虑的是输入滤波器的采样频率由寄存器TIMx_CCMR1-IC1F决定。

边沿检测器

边沿检测器要根据寄存器的值选择上升沿还是下降沿作为触发的极性。

首先CC1P这个位在输出模式下表示有效电平是高电平还是低电平。

如果1则有效电平是高电平反之是低电平。

在输入模式下CC1NP和CC1P两个BIT共同组成2BIT的寄存器位就有四种不同的值代表不同含义

00——上升沿是输入捕获的触发极性。

01——下降沿是输入捕获的触发极性。

10——保留。

11——上升沿和下降沿都是输入捕获的触发极性。

在编码模式下不允许使用

最后一个位是CC1E。

如果是输出模式就决定了输出是否使能如果是输入模式就决定了捕获是否使能。

在PWM呼吸灯实例中可以看到HAL库对这一位的处理是初始化的时候就清零。

而它的置位是由用户调用API启动的。

输入捕获选择器

CC1S[1:0]实际上对应着上面这个选择器。

回到上面的定时器框图就理解了。

01——就是TI1FP1连接到IC110——就是TI2FP2连接到IC111——就是TRC连接到IC1。

以上是将CC1捕获比较通道1设置成输入型的。

如果想要设置成输出型的CC1S等于00比如PWM模式就需要将波形从引脚输出的外部。

预分频器

再往右是预分频器就是外部输入几个事件才会完成一次捕获。

如下图分为几种情况

00——不分频每次检测到边沿输入都完成一次捕获。

01——每检测到2次事件完成一次捕获。

10——每检测到4次事件完成一次捕获。

11——每检测到8次事件完成一次捕获。

捕获比较寄存器

最后到了捕获/比较寄存器。

CNT计数器分别与两个捕获/比较寄存器连接可以进行捕获比较。

同步触发

ITR0-ITR3一共4路都是其他主定时器输入的触发信号TRGI还有TI1F_ED、TI1FP1、TI2FP2这些都可以用来同步定时器。

至于选择哪一个由下面的寄存器决定

主从模式联动

既然提到了寄存器TIMx_SMCR那么就顺便讲一下MSMMaster/Slave

Mode它是用于控制定时器的主从模式联动。

当多个定时器需要协同工作时如级联触发、同步计数MSM位可确保它们的操作严格同步。

功能使能主从模式联动确保触发信号从主定时器传递到从定时器时两个定时器的操作严格同步。

取值

当MSM位被置1时

主定时器接收到触发信号后会先将触发信号传递给从定时器。

从定时器根据自身配置如SMS位响应触发信号如复位计数器、启动计数。

主定时器在确保从定时器完成响应后再执行自身的操作如更新TRGO输出。

PWM呼吸灯实例及解读

OC_Config-OCMode;这是在配置OC1M位将配置值PWM1写入“输出比较1模式”位。

TIM_CHANNEL_1);之后我们分析一下这个函数的内部逻辑。

for(uint16_t

){__HAL_TIM_SET_COMPARE(htim14,

TIM_CHANNEL_1,

--){__HAL_TIM_SET_COMPARE(htim14,

TIM_CHANNEL_1,

__HAL_TIM_SET_COMPARE(__HANDLE__,

__CHANNEL__,

(__COMPARE__)))本例中使用的是channel1此宏定义是设置CCR1寄存器的值。

实现PWM占空比变化。

寄存器分析

所谓的使能位就是一个开关。

打开开关之后下面的标志位一旦置位了就会触发相应的中断关闭了开关之后即便下面的标志位置位了也不会触发中断。

TIMx_SR

所谓“重捕获”是说上次的捕获标志位还没有清零下一次的捕获事件就又触发了。

为了防止第2次的捕获事件丢失所以这个寄存器就应运而生了。

TIMx_EGR

由于TIM9-TIM14都只有递增的模式所以这个寄存器的值只能递增计数。

TIMx_PSC

回顾上面的定时器框图你可能还有印象这个寄存器就是下面框图的预分频器。

而预分频的时钟来源就是CK_PSC。

TIMx_ARR

重装载寄存器就是下图中红色框的这个。

如果说计数器是“吃包子的”那么重装载寄存器就是“喂包子的”。

是不是很形象哈哈哈……

TIMx_CCR1寄存器在输入和输出模式下的功能不同在输出模式下与OC1PE相关。

如果OC1PE1写进TIMx_CCR1寄存器的值会在产生更新事件之后生效如果OC1PE0则写进TIMx_CCR1寄存器的值会立即生效。

在输入模式下这个寄存器只允许读不允许写它的值是最后一次输入捕获事件的计数值。

TIMx_CCR1

同样有TIMx_CCR2寄存器由于仅仅是通道不同所以不需要多讲了。

参考文献

本文到此结束已经很详细地介绍了通用定时器TIM9-TIM14相信您可以从中有所收获期待您的点赞、转发、收藏、评论



SEO优化服务概述

作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。

百度官方合作伙伴 白帽SEO技术 数据驱动优化 效果长期稳定

SEO优化核心服务

网站技术SEO

  • 网站结构优化 - 提升网站爬虫可访问性
  • 页面速度优化 - 缩短加载时间,提高用户体验
  • 移动端适配 - 确保移动设备友好性
  • HTTPS安全协议 - 提升网站安全性与信任度
  • 结构化数据标记 - 增强搜索结果显示效果

内容优化服务

  • 关键词研究与布局 - 精准定位目标关键词
  • 高质量内容创作 - 原创、专业、有价值的内容
  • Meta标签优化 - 提升点击率和相关性
  • 内容更新策略 - 保持网站内容新鲜度
  • 多媒体内容优化 - 图片、视频SEO优化

外链建设策略

  • 高质量外链获取 - 权威网站链接建设
  • 品牌提及监控 - 追踪品牌在线曝光
  • 行业目录提交 - 提升网站基础权威
  • 社交媒体整合 - 增强内容传播力
  • 链接质量分析 - 避免低质量链接风险

SEO服务方案对比

服务项目 基础套餐 标准套餐 高级定制
关键词优化数量 10-20个核心词 30-50个核心词+长尾词 80-150个全方位覆盖
内容优化 基础页面优化 全站内容优化+每月5篇原创 个性化内容策略+每月15篇原创
技术SEO 基本技术检查 全面技术优化+移动适配 深度技术重构+性能优化
外链建设 每月5-10条 每月20-30条高质量外链 每月50+条多渠道外链
数据报告 月度基础报告 双周详细报告+分析 每周深度报告+策略调整
效果保障 3-6个月见效 2-4个月见效 1-3个月快速见效

SEO优化实施流程

我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:

1

网站诊断分析

全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。

2

关键词策略制定

基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。

3

技术优化实施

解决网站技术问题,优化网站结构,提升页面速度和移动端体验。

4

内容优化建设

创作高质量原创内容,优化现有页面,建立内容更新机制。

5

外链建设推广

获取高质量外部链接,建立品牌在线影响力,提升网站权威度。

6

数据监控调整

持续监控排名、流量和转化数据,根据效果调整优化策略。

SEO优化常见问题

SEO优化一般需要多长时间才能看到效果?
SEO是一个渐进的过程,通常需要3-6个月才能看到明显效果。具体时间取决于网站现状、竞争程度和优化强度。我们的标准套餐一般在2-4个月内开始显现效果,高级定制方案可能在1-3个月内就能看到初步成果。
你们使用白帽SEO技术还是黑帽技术?
我们始终坚持使用白帽SEO技术,遵循搜索引擎的官方指南。我们的优化策略注重长期效果和可持续性,绝不使用任何可能导致网站被惩罚的违规手段。作为百度官方合作伙伴,我们承诺提供安全、合规的SEO服务。
SEO优化后效果能持续多久?
通过我们的白帽SEO策略获得的排名和流量具有长期稳定性。一旦网站达到理想排名,只需适当的维护和更新,效果可以持续数年。我们提供优化后维护服务,确保您的网站长期保持竞争优势。
你们提供SEO优化效果保障吗?
我们提供基于数据的SEO效果承诺。根据服务套餐不同,我们承诺在约定时间内将核心关键词优化到指定排名位置,或实现约定的自然流量增长目标。所有承诺都会在服务合同中明确约定,并提供详细的KPI衡量标准。

SEO优化效果数据

基于我们服务的客户数据统计,平均优化效果如下:

+85%
自然搜索流量提升
+120%
关键词排名数量
+60%
网站转化率提升
3-6月
平均见效周期

行业案例 - 制造业

  • 优化前:日均自然流量120,核心词无排名
  • 优化6个月后:日均自然流量950,15个核心词首页排名
  • 效果提升:流量增长692%,询盘量增加320%

行业案例 - 电商

  • 优化前:月均自然订单50单,转化率1.2%
  • 优化4个月后:月均自然订单210单,转化率2.8%
  • 效果提升:订单增长320%,转化率提升133%

行业案例 - 教育

  • 优化前:月均咨询量35个,主要依赖付费广告
  • 优化5个月后:月均咨询量180个,自然流量占比65%
  • 效果提升:咨询量增长414%,营销成本降低57%

为什么选择我们的SEO服务

专业团队

  • 10年以上SEO经验专家带队
  • 百度、Google认证工程师
  • 内容创作、技术开发、数据分析多领域团队
  • 持续培训保持技术领先

数据驱动

  • 自主研发SEO分析工具
  • 实时排名监控系统
  • 竞争对手深度分析
  • 效果可视化报告

透明合作

  • 清晰的服务内容和价格
  • 定期进展汇报和沟通
  • 效果数据实时可查
  • 灵活的合同条款

我们的SEO服务理念

我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。

提交需求或反馈

Demand feedback