实现这个功能,基本原理是利用STM32 的输出比较功能。

1、其它设置就是普通定时器的设置这里开启,四个输出比较中断,和一个更新中断,

更新中断这里不需要开也可以达到目的,我这里开启是做其它的用处的。设置TIM2->DIER 开启对应中断

这是中断服务函数中的一段,框出来的就是实现调频率的,

首先要知道,定时器的CNT=CCRx就会产生一个中断,每次修改

CCRx中的值,CNT照常加,当CNT=CCRx时就重新设置一个值,为

CNT的追赶值,这时就可以通过改写CCRx的值达到改变频率的目的了。

这时如果使能了对应的输出,定时器的对应通道也会输出电平(操作TIMx->CCMRx中的OCxM)。

注意:频率可调的前提是不能使能,通道的预装载,只要不使能这个位,每次更改的CCMRx的值就会即时生效。当然脉冲个数就只需要在中断中计数就可以了              0.0;

                            波形个数 = 计数值/2

假如要调节占空比的话,只需要将追赶值分开就可以了。例如 追赶值 = 6000  在单次次进入中断 CCMRx = 4000 双次进入中断的时候CCMRx = 2000这样不就调节成占空比

1/3了么

STM32 一个定时器产生4路 独立调频率,占中比可调,脉冲个数可以统计。的更多相关文章

  1. STM32 基于定时器的PWM发生器

    脉冲宽度调制(PWM),是英文"Pulse Width Modulation" 的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术.简单一点,就 ...

  2. stm32之定时器彻底研究

    分类: C/C++ 这里介绍两种方式使用stm32的定时器:直接操作寄存器和使用st的官方的库文件. 相比较而言,直接操作定时器比较简洁,对着寄存器看十分明了.而使用库文件有一点晕头转向. (个人观点 ...

  3. 零基础入门stm32基本定时器详解

    一.基本定时器介绍 在STM32中,基本定时器有TIM6.TIM7等.基本定时器主要包含时基单元,提供16位的计数,能计数0~65535.基本定时器除了计数功能以外,还能输出给DAC模块一个TRGO信 ...

  4. STM32通用定时器(转载)

    STM32的定时器功能很强大,学习起来也很费劲儿. 其实手册讲的还是挺全面的,只是无奈TIMER的功能太复杂,所以显得手册很难懂,我就是通过这样看手册:while(!SUCCESS){看手册-}才搞明 ...

  5. STM32之定时器

    一.定时器简介 1.时钟来源 2.定时器结构(以基本定时器为例) 二.基本定时器的编程方法 1.基本定时器的寄存器 2.例程 /** * @brief 定时器6的初始化,定时周期0.01s * @pa ...

  6. Stm32高级定时器(四)

    Stm32高级定时器(四) 1 编码器接口模式 1.1 编码器原理 什么是正交?如果两个信号相位相差90度,则这两个信号称为正交.由于两个信号相差90度,因此可以根据两个信号哪个先哪个后来判断方向.根 ...

  7. Stm32高级定时器(三)

    Stm32高级定时器(三) 1 互补输出和死区插入 1.1 死区:某个处于相对无效状态的时间或空间 本来OCX信号与OCXREF时序同相同步,OCXN信号与OCXREF时序反相同步.但为了安全考虑,以 ...

  8. Stm32高级定时器(二)

    Stm32高级定时器(二) 1 主从模式:主?从? 谈论主从,可知至少有两个以上的触发或者驱动信号,stm32内部有多个定时器,可以相互之间驱动或者控制. 主模式:定时器使能只受驱动时钟控制或者输出控 ...

  9. Stm32高级定时器(一)

    Stm32高级定时器(一) 1 定时器的用途 2 高级定时器框图 3 时基单元 4 通道 1 定时器的用途 已知一个波形求另一个未知波形(信号长度和占空比) 已知波形的信号长度和占空比产生一个相应的波 ...

随机推荐

  1. MongoDB的客户端管理工具--nosqlbooster 连接MongoDB服务器

    nosqlbooster的官网地址为https://nosqlbooster.com.大家如果想直接下载,可以登入下载网址https://nosqlbooster.com/downloads. 下载w ...

  2. PHP做APP接口时,如何保证接口的安全性??????????

    PHP做APP接口时,如何保证接口的安全性? 1.当用户登录APP时,使用https协议调用后台相关接口,服务器端根据用户名和密码时生成一个access_key,并将access_key保存在sess ...

  3. 阿里云ECS利用密钥对ssh登录服务器

    https://blog.csdn.net/u012865381/article/details/78521087/ 1.在服务机上操作创建要远程登录的用户和密码 [root@izwz97s23bov ...

  4. SEO--质量监测

    日志分析 1.每个搜索引擎的总体抓取量 2.记录搜索引擎蜘蛛的不重复抓取量 3.每个目录.每个搜索引擎的抓取量 4.统计搜索引擎抓取的状态码(通过查看欧化300,404,500等分析那些页面需要优化) ...

  5. SEO--提高权重

    搜索引擎提交入口:将新网站提交收录 SEO优化三要素:标题 关键词 描述 外链(友情链接) 目的:提高权重 注意事项: 1.和内容相近的网站交换 2.链接交换形式多样 单向链接:别人指向我或我指向别人 ...

  6. glibc降级尝试失败-兼使用另一个版本的glibc

    https://cnodejs.org/topic/56dc21f1502596633dc2c3dc 这个介绍的是升级的情况.降级,网上说很难.因为用yum是无法降级安装的.我仿造升级的方式,make ...

  7. Kotlin Linux下的环境搭建

    Kotlin是JVM世界里的未来主宰,不管你信不信,我反正相信了! 好吧,如果你不糊涂,就跟着我一起学学吧,哈哈 一下载https://github.com/JetBrains/kotlin/rele ...

  8. winhex模版

    模版数据类型: char 字符 字符数组 char[i] binary  显示为二进制 hexadecimal uint32  显示4个字节,按16进制小端显示

  9. cocos2d-x getParent() 获得一个父类的一个node型指针,转换为父类类型

    void CenterLayer::zhanzheng(CCObject* pSender){ ((GameScene*)this->getParent())->showLayer(Gam ...

  10. MVC5 您不能调用控制器“xx”上的操作方法“xx”,因为该方法是一种泛型方法

    在 MVC5 中当使用   routes.MapMvcAttributeRoutes() 添加路由属性是导致在控制器创建的泛型方法调用错误: Cannot call action method 'Sy ...