本篇博文最后修改时间:2017年08月12日 12:00。

一、简介

本文以STM8S103F3P6编程为例,介绍STM8S103F3P6定时器2捕获周期

二、实验平台

电脑平台:Windows7 64位旗舰

编译软件:IAR

硬件平台:STM8S103F3P6

三、版权声明

博主:_懵懂

声明:此博客仅供参考不做任何商业用途,最终解释权归原博主所有。

原文地址:http://blog.csdn.NET/qq_18842031

懵懂之MCU交流群:136384801

四、实验前提

1、在进行本文步骤前,请先安装IAR  EWSTM8-EV-1311版本;准备好STM8S103F3P6硬件平台。

五、基础知识

暂无

六、源码地址

添加上方QQ群 AT群主索要源码。

七、关联文章

链接:http://blog.csdn.net/qq_18842031/article/details/74937222

链接:http://blog.csdn.net/qq_18842031/article/details/77104097

八、实验内容

1.系统时钟初始化为内部16M

  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);    //时钟   初始化时钟为1分频 16M   2分频8M

2.初始化定时器2设置PD3为捕获输入

void Init_Timer2(void)
{GPIO_Init(GPIOD, GPIO_PIN_3, GPIO_MODE_IN_FL_NO_IT);//输入  无中断TIM2_DeInit();TIM2_TimeBaseInit(TIM2_PRESCALER_16, 10000-1);           //16分频, 1MHZ 10000 = 10ms 溢出TIM2_ICInit(TIM2_CHANNEL_2, TIM2_ICPOLARITY_RISING, TIM2_ICSELECTION_DIRECTTI, TIM2_ICPSC_DIV1, 0x00); //设置通道 设置输入捕获上升触发  捕获输入引脚  输入捕捉预定标器    滤波 TIM2_ClearFlag(TIM2_FLAG_CC2);                         //指定要清除的标志TIM2_ITConfig(TIM2_IT_UPDATE, ENABLE);                 //使能向上计数功能TIM2_ITConfig(TIM2_IT_CC2, ENABLE);                    //使能输入捕获通道2TIM2_Cmd(ENABLE);
}

3.编写主函数

 void main(void)
{CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);    //内部时钟16MInit_UART1();Init_Timer2();enableInterrupts();while(1);
}

4、编写中断服务函数

uint8_t fet;INTERRUPT_HANDLER(TIM2_UPD_OVF_BRK_IRQHandler, 13){fet++;TIM2_ClearITPendingBit(TIM2_IT_UPDATE);/* In order to detect unexpected events during development,it is recommended to set a breakpoint on the following instruction.*/}/*** @brief Timer2 Capture/Compare Interrupt routine.* @param  None* @retval None*/INTERRUPT_HANDLER(TIM2_CAP_COM_IRQHandler, 14){if(TIM2_GetITStatus(TIM2_IT_CC2) != RESET) //如果CH2边沿触发{static uint8_t buf[12];static uint16_t set_num1,set_num2;static uint8_t timer1,timer2;static uint8_t num;uint8_t len = 0;uint16_t fre = 0;num++;if(num == 1){set_num1 = TIM2_GetCapture2();timer1 = fet;}else if(num == 2){num = 0;set_num2 = TIM2_GetCapture2();timer2 = fet;fet = 0;fre = 1000000 / ((timer2*10000+set_num2) - (timer1*10000+set_num1));buf[len++]=fre/10000%10+'0';buf[len++]=fre/1000%10+'0';buf[len++]=fre/100%10+'0';buf[len++]=fre/10%10+'0';buf[len++]=fre%10+'0';buf[len++]= '\n';UART1_Send(buf,6);}}TIM2_ClearITPendingBit(TIM2_IT_CC2);
}

5、结果

输出100Hz,实验成功。

STM8S103之tim2捕获周期相关推荐

  1. 怎样理解示波器的波形捕获率,捕获周期

    内容来自鼎阳硬件智库微信文章,引用请注明出处--"鼎阳硬件设计与测试智库"微信号(SiglentThinkTank) 原文:[鼎阳硬件智库原创︱测试测量 ]关于示波器的波形捕获率( ...

  2. 【STM8】PWM 捕获实战:占空比和频率(TIM2)

    1. 前言 基于<[众拳STM8 40 讲]PWM 输入捕获原理与实验(频率)>我们已经了解了利用 STM8 库函数 如何捕获和计算 PWM 的频率,但是确没有介绍占空比的捕获方法. 基于 ...

  3. stm32 PWM输入捕获

    普通的输入捕获,可使用定时器的四个通道,一路捕获占用一个捕获寄存器. PWM输入,只能使用两个通道,通道1和通道2. 一路PWM输入占用两个捕获寄存器,一个捕获周期,一个捕获占空比. 这里,用通用定时 ...

  4. STM32CubeMX 学习(5)输入捕获实验

    个人学习记录 文章目录 一.新建工程 二.选择芯片型号 三.配置时钟 四.配置调试模式 五.定时器(输入捕获)参数配置 六.生成 Keil 工程 七.中断函数写在哪 八.测试示例 一.新建工程 二.选 ...

  5. 高级定时器之输入捕获应用(测量脉宽)

    高级定时器-输入捕获应用 输入捕获一般应用在两个方面,一个方面是脉冲跳变沿时间测量,另一方面是PWM输入测量. 测量脉宽或者频率 测量频率 ​ 当捕获通道TIx上出现上升沿时,发生第一次捕获,计数器C ...

  6. 【WB32库开发】第12章(上)TIM1高级定时器——PWM输入捕获

    本章要学习的PWM输入捕获是定时器又一重要应用,使用PWM输入捕获可以测量输入PWM的频率和占空比. PWM输入只能使用定时器的两个通道:通道1和通道2,且一路PWM输入要占用两个捕获寄存器,一个用于 ...

  7. STM32小项目总结4:TIM输入捕获测频率+占空比

    TIM输入捕获 1.输入捕获模式测频率: 捕获事件:首先设置为上升沿捕获,每来一个上升沿,CNT转运CCR一次,且CNT的值是两个上升沿之间的间隔,即CNT=周期,所以用来计时,也就是T.CCR的捕获 ...

  8. 输入捕获模块的使用–超声波测距

    输入捕获模块的使用–超声波测距 @(MSP432P401R) 输入捕获的配置 基本默认即可 输入捕获的API的使用 参数 Capture_Mode即捕获模式,经实际测试,MSP432P401R只能使用 ...

  9. FFMPEG录屏(5)---- 捕获扬声器和麦克风(基于WASAPI)

    最近微软已经公布了对Windows7维护的截止时间,考虑到捕获基于dshow-capture的依赖还需要安装额外的软件,所以还是实现了基于Windows CoreAudio API的音频捕获以及GDI ...

最新文章

  1. app如何打开了request url_手机日历app内如何打开节日提醒功能?支持提前提醒节日的云便签...
  2. Oracle之comment关键字的详细讲解
  3. 通俗易懂地解释遗传算法?有什么例子?
  4. python下载百度网盘文件-python通过百度云api的方式上传或下载文件
  5. php剪切文件,C/C++文件剪切复制删除
  6. android.hardware.camera2使用指南
  7. 分布式缓存memcached
  8. python需要背的英语单词怎么写_学Python必须背的42个常见单词,看看你都会吗?...
  9. 三阶魔方魔方公式_观看此魔方的自我解决
  10. mysql in和or扫描全表_MySQL对OR条件查询不支持优化,会进行全表扫描
  11. 无法访问工作组计算机修复工具,用于局域网共享(Okshare)的一键修复工具
  12. Java_管家婆项目(三十一)——管家婆家庭记账软件(项目环境搭建、功能模块、代码)、后附网盘链接
  13. Android 根据手机自带GPS获取当前位置,经纬度
  14. knockoutjs入门要点
  15. R语言绘图-解决坐标轴测度问题
  16. Transformer结构详解
  17. Java——哈希值是什么?
  18. vga焊接线顺序_vga线序是怎么排列的?
  19. web个人学习笔记(待完善)
  20. 与引导文件系统/vmfs/devices..的备用设备之间的连接已丢失,主机配置更改将不会保存到持久存储中...

热门文章

  1. 超酷的框架JS图片处理效果
  2. 挺带劲!通过 Nginx 来实现封杀恶意访问
  3. html 鼠标图标做成动画效果,7 个让人惊叹的 HTML5 鼠标动画
  4. HTML5对网络营销的影响,什么是互联网营销思维,简述互联网思维对网络营销的影响...
  5. SM2加解密、签名验签
  6. 前端实用的20个css技巧
  7. imp-00003:oracle error 959 encountered
  8. 07 仿网易严选微信小程序商城
  9. Python实例--遍历文件夹下所有的文件或文件夹
  10. python修改电脑桌面壁纸_python设置windows桌面壁纸的方法