STM32----摸石头过河系列(八)
在STM32中定时器(TIM)是很重要的外设,具有相当多的作用,并且用法多样,内容多。今天来分析一下定时器的理论知识,没有实例。
在STM32中定时可以分为三类:基本定时器、通用定时器、高级定时器。
一、基本定时器
计数器定时器TIMx_CNT,只能向上计数,重载寄存器TIMx_ARR中保存的是定时器的溢出值。TIMx_CNT由时钟触发进行计数,当计数器的值等于溢出值时,产生溢出事件触发中断或DMA请求。
二、通用定时器
通用定时器的主要用来对输入脉冲的频率的测量、脉冲宽度的测量、输出PWM脉冲、还具有编码器的接口。
- 通用定时器的的基本计时功能与基本定时器的基本计时功能相同。
- PWM输出
利用GPIO引脚进行脉冲输出,TIMx_CCR在配置比较输出时,PWM输出功能时TIMx_CCR被用作比较功能。若TIMx_CNT为向上计数,且TIMx_ARR配置为N,TIMx_CNT的值不断增加,当TIMx_CNT的值大于N时,重置TIMx_CNT的值为0,并重新计数。
在TIMx_CNT计数时,计数值X与比较寄存器TIMx_CCR的值A进行比较。若X 小于A则输出高电平(或低电平)。相反当脉冲计数器的值X大于或者等于A时输出低电平(或高电平)。如此得到输出脉冲的周期为TIMx_ARR存储器的值(N+1)乘以触发脉冲的时钟周期,脉冲宽度则为TIMx_CCR的值A乘以触发脉冲的时钟周期,即输出的PWM的占空比为A/(N+1)。
- PWM输入
此时TIMx_CCR被用作捕获功能。TIMx_CNT配置为向上计数,TIMx_ARR的值N足够大。在输入脉冲TI1的上升沿到达时,触发IC1和IC2输出捕获中断,TIMx_CNT值复位为0,TIMx_CNT自己增加,直到TI1出现下降沿触发IC2捕获事件,此时,TIMx_CRR2存储TIMx_CNT当前值。TIMx_CNt继续增加,当TI1出现第二个上升沿时,触发IC1捕获事件,TIMx_CCR1存储当前TIMx_CNT的值。
正是因为TIMx_CCR的存在,才使得通用定时器的功能如此强大。定时器的内部时钟都是TIMxCLK,但TIMxCLK的时钟来源并不是完全一样。TIM2~7基本定时器和通用定时器的时钟都是APB1预分频器的输出。TIM1和TIM8两个高级定时器的时钟是APB2预分频气的输出。
三、高级定时器
TIM1和TIM8是两个高级定时器,他们具有基本通用定时器的所有功能,还具有三相6步电机的接口、刹车功能、以及用于PWM驱动电路的死区时间的控制,非常适合电机的控制。
死区时间,在H桥、三相桥的PWM驱动电路中,上下两个桥的PWM驱动信号是互补的。即上下桥轮流导通,但实际上为了防止出现上下桥同时导通(会出现短路),在上下桥切换时,留下一段时间上下桥都施加关断信号,上下桥都关断的时间称为死区时间。
STM32----摸石头过河系列(八)相关推荐
- 58同城如何摸石头过河?
本文转自:http://www.huxiu.com/article/4397/1.html 这家典型"鼠标+水泥".不愿复制Cragslist模式的创业公司,摸爬滚打间的经验教训 ...
- oCPC实践录 | 摸石头过河,oCPC先跑起来再说
oCPC才开始的实践基本上是摸着石头过河,不断测试实验.不过也可以参考已有的oCPC产品设计,oCPC首要需要解决的是转化目标和转化数据. 在解决转化数据之前,可以先看一下申探社:深入互联网广告中的出 ...
- STM32----摸石头过河系列(一)
在学习stm32之前,我较为熟练的掌握了51单片机的开发,可以运用51中的输入.输出,以及定时器.中断等.今天第一天,学习stm32点亮LED灯. 在本次学习中使用的是stm32f103RC系列单片机 ...
- STM32----摸石头过河系列(六)
今天了解一下ADC,stm32中的模数转换利用的是逐次逼近的方法,这个当时在考研时特别熟,现在又忘了,又去问了一下万能的百度.先是多少了解一下这个转换过程,在32的开发过程中用不到,但毕竟从事这个的, ...
- STM32----摸石头过河系列(四)
今天分析STM32一个相当重要的外设--串口,在我使用的这款单片机中有三个串口分别为USART1,USART2,USART3.其中USART1挂载在总线APB2上,USART2,3挂载在APB1上.这 ...
- 中台,都他妈被你们说糊涂了,文内才是正宗解释,别摸石头过河了,石头早就有了
(1)我们先说说技术架构分层 我们按技术架构通常是这样的: 1.UI交互层:Windows UI.PC Web UI.移动App UI.微信小程序UI.摄像头视觉识别人机界面.语音交互人机界面 2.逻 ...
- STM32----摸石头过河系列(七)
今天练习了32中的SysTick定时器,通常叫做滴答定时器.定时器的作用,用过51的想必都知道.定时器主要用来处理一些周期性的,时间间隔固定的事件.同时定时器也可以用来得到一个事件所耗费的时间.下面来 ...
- STM32----摸石头过河系列(五)
今天总结一下DMA(Direct Memory Access,直接存储器存储),在以往我们从串口读取数据到内存的流程是,cpu通过串口读取导数据,然后CPU再将数据写入固定的内存.这种读取方式占用了大 ...
- STM32----摸石头过河系列(三)
前两次了解了LED的打开和关闭,以及按键的检测和按键作为输入的中断.今天来了解一下SysTick系统定时器.玩过51的想必对定时器一定不会陌生.定时器可以让我们隔着固定的时间的去做一些事情,比如让LE ...
最新文章
- 2019全球AI 100强,中国占独角兽半壁江山,但忧患暗存
- 【小白学习C++ 教程】十二、C++面向对象编程中的构造函数和析构函数
- html viewer.app,HTML Viewer studio classroom
- boost::hana::test::TestLogical用法的测试程序
- 使用自定义DelegatingHandler编写更整洁的Typed HttpClient
- 信息学奥赛一本通(1052:计算邮资)
- freecodecamp能学php吗,freeCodeCamp 学习记录——初级算法「01」翻转字符串
- DSP编程的一些优化技巧和注意事项
- 【Elasticsearch】es 提高 搜索速度
- red hat linux 虚拟机,Red Hat linux 的安装详细流程(包括VM虚拟机的设置)
- Activiti 流程实例、任务、执行对象及相关的表
- Spring教程笔记8 基于SHH的员工信息管理系统
- 手电筒安卓_王思聪吃热狗数字时钟app安卓android苹果ios
- 微信 JSAPI 支付流程
- thinkphp 后台管理框架swiftadmin的使用
- (转)Notepad++删除空白行
- python程序员工资高吗?
- ribbon的注解 @LoadBalanced 报错 No instances available for [IP]
- 【牛客网-公司真题-前端入门篇】——2021牛客模考-卷1
- addobe dwcs6静态表格
热门文章
- 上传图片在浏览器可以正常查看 在手机不显示_自己拥有一台服务器可以做哪些很酷的事情...
- 【操作系统】请求调页
- 【Python】Pandas在数据库中执行SQL语句并加载结果
- 【Python】Matplotlib绘制各式各样的圆形
- 【Python】Matplotlib绘图中文乱码问题的解决方案
- Oracle 表空间错误集锦
- Python中eval与exec的使用及区别
- centos7无GUI情况安装Xvfb、selenium、chrome
- ant design form表单的时间处理
- oracle查询中over(partition by ...order by ...)用法