芯查查logo
  • 数据服务
    1. 新产品
    2. 物料选型
    3. 查替代
    4. 丝印反查
    5. 查品牌
    6. PCN/PDN
    7. 查方案
    8. 查代理
    9. 数据合作
  • SaaS/方案
      SaaS产品
    1. 供应链波动监控
    2. 半导体产业链地图
    3. BOM管理
    4. 解决方案
    5. 汽车电子
    6. 政府机构
    7. 数据API
  • 商城
  • 行业资讯
    1. 资讯
    2. 直播
  • 论坛社区
    1. 论坛
    2. 学习
    3. 测评中心
    4. 活动中心
    5. 积分商城
  • 查一下
  • 开通会员
留胡子的钢笔
STM32开发板学习记录(10)TIM-外部脉冲计数

实验十  TIM-通用定时器-外部脉冲计数

 

一、简介:

  • 实验目的:学习通用定时器由外部触发引脚ETR引入的脉冲信号作为时钟源,进行脉冲计数。
  • 硬件资源及引脚分配:通用定时器TIM2_CH1(PA0)、TIM3_ETR(PD2);串口1(Tx→PA9,Rx→PA10); KEY1(PA15) 
  • 实验现象:用杜邦线连接PA0(输出PWM波)和PD2(TIM3_ETR),可以观察到由串口打印的脉冲计数结果,计数值依次递增;按下KEY1,脉冲计数重置。

 

二、工程搭建:

1.新建工程,选择芯片型号:STM32F103RCT6

2.配置系统:Debug选择“Serial Wire”

3.配置时钟系统:选择外部高速时钟,配置HSE为8MHz,ABP1为72MHz(以实际情况为准)

4. 配置通用定时器TIM2-产生PWM波:

PWM的频率:

时钟频率是72MHz,PSC是7199,ARR是9999,

PWM的频率=时钟频率/(PSC+1)×(ARR+1)=72MHz/(7199+1)×(9999+1)=1Hz。(这主要是为了方便记录时能够观察得更清楚,不至于频率太快,一闪而过,观察不清)

PWM的占空比:

Pulse/(ARR+1)=5000/(9999+1)=50%(可以任意设置,只要不是0%就可以,对实验结果无影响)

TIM2_CH1对应的引脚是PA0,生成的PWM波,作为脉冲计数的外部时钟源。

 

5. 配置通用定时器TIM3:

从模式选择外部时钟模式1(External Clock Mode 1)*,时间源选择外部触发输入(ETR1),这时PD2自动配置为TIM_ETR引脚。

PSC选择0,也就是不分频;

ARR选择65535(最大值),这样能计数的最大脉冲数为65536个,减少溢出。

 

6. 配置按键KEY1(用于按键按下时,脉冲计数重置)、USART等外设

7. 生成工程源码

 

三、编写代码:编译通过后即可下载

1.定义变量,启动通用定时器TIM2、TIM3

2. 按键扫描函数

3. 脉冲计数并通过串口打印出来;按键按下时,重置计数值

 

 

四、实验现象:

用杜邦线连接PA0(输出PWM波)和PD2(TIM3_ETR),可以观察到由串口打印的脉冲计数结果,计数值依次递增;按下KEY1,脉冲计数重置。

 

==============分 割 线================

 

*:TIM3从模式选择外部时钟模式1(External Clock Mode 1),时间源选择有8个选项,如下图,这些选项之间有什么区别?期待大佬指点。

(正点原子的例程选择的是TI1FP1(对应的引脚是PA6),我选择的是ETR1(对应的引脚是PD2),而这块mini开发板中板载的绿色LED的引脚也是PD2,正好可以作为程序运行的指示灯)

 

工程附件
10_TIM_CNT.rar
开源社区 申请原创奖励
版块: 单片机/MCU论坛
2025/03/20 22:53
  • 举报
😁😂😃😄😅😆😉😊😋😌😍😏😒😓😔😖😘😚😜😝😞😠😡😢😣😤😥😨😩😪😫😭😰😱😲😳😵😷😸😹😺😻😼😽😾😿🙀🙅🙆🙇🙈🙉🙊🙋🙌🙍🙎🙏✂✅✈✉✊✋✌✏✒✔✖✨✳✴❄❇❌❎❓❔❕❗❤➕➖➗➡➰🚀🚃🚄🚅🚇🚉🚌🚏🚑🚒🚓🚕🚗🚙🚚🚢🚤🚥🚧🚨🚩🚪🚫🚬🚭🚲🚶🚹🚺🚻🚼🚽🚾🛀Ⓜ🅰🅱🅾🅿🆎🆑🆒🆓🆔🆕
@好友

全部评论

加载中
游客登录通知
已选择 0 人
自定义圈子
移动
发布帖子
发布动态
发布问答
最新帖子
萤火工场GD32VW553-IOT测评+蓝牙串口透传树莓派pico 2测评 - 初体验【工程师经验】+ 飞线【开源】zvs142857 2.1A,3A快充 充电宝迷你UC3842 开关电源优化全解析:攻克常见难题,提升性能
热门版块
查看更多
电子元器件
汽车电子工程师论坛
工业电子专区
新手入门指南
单片机/MCU论坛
PCB设计
开源项目
每日打卡
电子DIY
维修技术

283

收藏

分享

微信扫码
分享给好友

评论