STM8S103之tim2捕获周期
本篇博文最后修改时间: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捕获周期相关推荐
- 怎样理解示波器的波形捕获率,捕获周期
内容来自鼎阳硬件智库微信文章,引用请注明出处--"鼎阳硬件设计与测试智库"微信号(SiglentThinkTank) 原文:[鼎阳硬件智库原创︱测试测量 ]关于示波器的波形捕获率( ...
- 【STM8】PWM 捕获实战:占空比和频率(TIM2)
1. 前言 基于<[众拳STM8 40 讲]PWM 输入捕获原理与实验(频率)>我们已经了解了利用 STM8 库函数 如何捕获和计算 PWM 的频率,但是确没有介绍占空比的捕获方法. 基于 ...
- stm32 PWM输入捕获
普通的输入捕获,可使用定时器的四个通道,一路捕获占用一个捕获寄存器. PWM输入,只能使用两个通道,通道1和通道2. 一路PWM输入占用两个捕获寄存器,一个捕获周期,一个捕获占空比. 这里,用通用定时 ...
- STM32CubeMX 学习(5)输入捕获实验
个人学习记录 文章目录 一.新建工程 二.选择芯片型号 三.配置时钟 四.配置调试模式 五.定时器(输入捕获)参数配置 六.生成 Keil 工程 七.中断函数写在哪 八.测试示例 一.新建工程 二.选 ...
- 高级定时器之输入捕获应用(测量脉宽)
高级定时器-输入捕获应用 输入捕获一般应用在两个方面,一个方面是脉冲跳变沿时间测量,另一方面是PWM输入测量. 测量脉宽或者频率 测量频率 当捕获通道TIx上出现上升沿时,发生第一次捕获,计数器C ...
- 【WB32库开发】第12章(上)TIM1高级定时器——PWM输入捕获
本章要学习的PWM输入捕获是定时器又一重要应用,使用PWM输入捕获可以测量输入PWM的频率和占空比. PWM输入只能使用定时器的两个通道:通道1和通道2,且一路PWM输入要占用两个捕获寄存器,一个用于 ...
- STM32小项目总结4:TIM输入捕获测频率+占空比
TIM输入捕获 1.输入捕获模式测频率: 捕获事件:首先设置为上升沿捕获,每来一个上升沿,CNT转运CCR一次,且CNT的值是两个上升沿之间的间隔,即CNT=周期,所以用来计时,也就是T.CCR的捕获 ...
- 输入捕获模块的使用–超声波测距
输入捕获模块的使用–超声波测距 @(MSP432P401R) 输入捕获的配置 基本默认即可 输入捕获的API的使用 参数 Capture_Mode即捕获模式,经实际测试,MSP432P401R只能使用 ...
- FFMPEG录屏(5)---- 捕获扬声器和麦克风(基于WASAPI)
最近微软已经公布了对Windows7维护的截止时间,考虑到捕获基于dshow-capture的依赖还需要安装额外的软件,所以还是实现了基于Windows CoreAudio API的音频捕获以及GDI ...
最新文章
- app如何打开了request url_手机日历app内如何打开节日提醒功能?支持提前提醒节日的云便签...
- Oracle之comment关键字的详细讲解
- 通俗易懂地解释遗传算法?有什么例子?
- python下载百度网盘文件-python通过百度云api的方式上传或下载文件
- php剪切文件,C/C++文件剪切复制删除
- android.hardware.camera2使用指南
- 分布式缓存memcached
- python需要背的英语单词怎么写_学Python必须背的42个常见单词,看看你都会吗?...
- 三阶魔方魔方公式_观看此魔方的自我解决
- mysql in和or扫描全表_MySQL对OR条件查询不支持优化,会进行全表扫描
- 无法访问工作组计算机修复工具,用于局域网共享(Okshare)的一键修复工具
- Java_管家婆项目(三十一)——管家婆家庭记账软件(项目环境搭建、功能模块、代码)、后附网盘链接
- Android 根据手机自带GPS获取当前位置,经纬度
- knockoutjs入门要点
- R语言绘图-解决坐标轴测度问题
- Transformer结构详解
- Java——哈希值是什么?
- vga焊接线顺序_vga线序是怎么排列的?
- web个人学习笔记(待完善)
- 与引导文件系统/vmfs/devices..的备用设备之间的连接已丢失,主机配置更改将不会保存到持久存储中...
热门文章
- 超酷的框架JS图片处理效果
- 挺带劲!通过 Nginx 来实现封杀恶意访问
- html 鼠标图标做成动画效果,7 个让人惊叹的 HTML5 鼠标动画
- HTML5对网络营销的影响,什么是互联网营销思维,简述互联网思维对网络营销的影响...
- SM2加解密、签名验签
- 前端实用的20个css技巧
- imp-00003:oracle error 959 encountered
- 07 仿网易严选微信小程序商城
- Python实例--遍历文件夹下所有的文件或文件夹
- python修改电脑桌面壁纸_python设置windows桌面壁纸的方法