前言

考虑到前一篇文章 【MSPM0G3519系列】外部时钟输入测频 测频率的方式进入中断的频率过高,会影响程序主要代码的运行,故这次采用了更进一步的方法去测量:定时器级联采集外部信号时钟。话不多说,尽快开始。

配置

注意:

1.以下图中即完整级联配置,两个级联无需打开中断!

2. 主定时器比较触发配置为外部时钟输入触发,从定时器设置为事件触发


原因:两个65536的定时器级联,从\(2^{16}\)变成了\(2^{32}\),计数次数不用再担心溢出。

定时器级联计数方式:主定时器计数达到65535,从定时器计数加1,直到两个定时器达到65535。

主定时器配置

从定时器配置

捕获定时器配置

捕获定时器随便配置个1s或2s或0.5s中断即可,但是要注意在测出的频率上×2或÷2。

程序

点击查看代码
void TIMER_1_INST_IRQHandler(void)
{
switch (DL_TimerA_getPendingInterrupt(TIMER_1_INST)) {
case DL_TIMERA_IIDX_ZERO:
DL_TimerA_getTimerCount(COMPARE_0_INST);
freq = DL_TimerA_getTimerCount(COMPARE_0_INST) + DL_TimerA_getTimerCount(COMPARE_1_INST) * 65536;
// freq = 999; /* 测试频率 */
// printf("freq = %d Hz\r\n\r\n", freq);
timer_measure_freq_end_flag = true;
DL_TimerA_setTimerCount(COMPARE_1_INST, 0);
DL_TimerA_setTimerCount(COMPARE_0_INST, 0);
break;
default:
break;
}
}

定时器级联优势

  1. 可以获得更大的计数次数,不用担心溢出的问题。
  2. 使测得更准的外部时钟频率。
  3. 中断频率大大缩短,不影响主要程序的运行。

【MSPM0G3519系列】定时器级联时钟输入测频率【进阶版】的更多相关文章

  1. 用STM32定时器测量信号频率——测频法和测周法[原创cnblogs.com/helesheng]

    工业测试与控制系统中,经常需要对未知信号的频率进行测试.对于10MHz以下的信号,用单片机(MCU)定时器完成这项任务显然是最常见和最佳的选择.目前性价比最高的单片机STM32拥有功能强大且数量众多的 ...

  2. STM32 定时器级联

    根据参考手册给出的主/ 从定时器的例子 其实就是主定时器产生一个触发信号,让从定时器去接收这个触发信号,通过这个触发信号来让从定时器工作. 下面我们来看看我设置的从定时器 只需要配置 TIMx-> ...

  3. STM32F103ZET6 用定时器级联方式输出特定数目的PWM

    STM32F103ZET6 用定时器级联方式输出特定数目的PWM STM32F103ZET6里共有8个定时器,其中高级定时器有TIM1-TIM5.TIM8,共6个. 这里需要使用定时器的级联功能,ST ...

  4. STM32定时器级联 -- AN2592

    Master configuration When a timer is selected as a master timer, the corresponding trigger output si ...

  5. webpack4打包nodejs项目进阶版——多页应用模板

    前段时间我写了个打包nodejs项目的文章,点击前往 但是,问题很多.因为之前的项目是个历史遗留项目,重构起来可能会爆炸,当时又比较急所以就写个的适用范围很小的webpack的打包方法. 最近稍微得空 ...

  6. zip伪加密文件分析(进阶版)

    作者近日偶然获得一misc题,本来以为手到擒来,毕竟这是个大家都讨论烂了的题,详情访问链接http://blog.csdn.net/ETF6996/article/details/51946250.既 ...

  7. 全国省市级联数据sql语句 mysql版

    全国省市级联数据sql语句 mysql版 --省级 provincial create table provincial ( provincialID int, provincialName ), p ...

  8. python--代码统计(进阶版)

    在上一篇的随笔中发表了代码统计小程序,但是发表后,我发现,以前写的代码怎么办 写了那么多,怎么就从0开始了呢,,,,我还是个孩子啊,不能这么残忍 于是,代码统计进阶版:统计当前目录下所有指定文件类型的 ...

  9. Oracle系列-锁表与解锁解决方案(大招版)-解决问题才是王道

    [Oracle系列-锁表与解锁解决方案(大招版)] --1查看被锁的表 select b.owner,b.object_name,a.session_id,a.locked_mode from v$l ...

  10. 手机端页面自适应解决方案—rem布局进阶版

    手机端页面自适应解决方案—rem布局进阶版   https://www.jianshu.com/p/985d26b40199 注:本文转载之处:https://www.cnblogs.com/anni ...

随机推荐

  1. qiankunjs中vue路由使用hash模式

    为什么使用hash模式 官网上举例都是拿history模式,我就想看看hash模式 history模式优在编译后缺点 file协议访问会白屏,即打包完成后,双击页面会白屏(之后还证明qiankun的微 ...

  2. Piecewise Smooth Subdivision Surfaces with Normal Control 未完待续

    简介 参考链接 https://mrl.cs.nyu.edu/publications/piecewise-smooth/ 相关pdf和代码, 尝试编译了一下, 但是有太多的错误, 遂放弃

  3. opengl 学习 之 10 lesson

    opengl 学习 之 10 lesson 简介 透明度 简单来说让设定的透明度起作用. link http://www.opengl-tutorial.org/uncategorized/2017/ ...

  4. less 剖析

    简介 不熟悉less,经常该样式要花费很多时间所以进行系统性的学习 参考链接 https://www.bilibili.com/video/BV1YW411T7vd?p=8 http://lesscs ...

  5. SciTech-BigDataAIML-BP(BackPropagation反向传播)网络:“政经驱动”智慧星球城市的“BigData+Bitstream”+Org组织+“数学驱动”的“人+模型”

    SciTech-BigDataAIML-BackPropagation反向传播: "政治经济驱动"智慧星球城市的"BigData+Bitstream" &quo ...

  6. FFmpeg开发笔记(七十六)使用国产SDK的播放器wlmedia渲染视频

    <FFmpeg开发实战:从零基础到短视频上线>一书的"第 12 章  FFmpeg的移动开发"介绍了如何使用FFmpeg在手机上播放视频,基于FFmpeg的国产播放器开 ...

  7. 开发板、windows、虚拟机(Ubuntu)三者互连的几种方式

    写在前面 虚拟机与Windows连接的方式 桥接模式:相当于让虚拟机与win处于平级关系,我们的路由器需要分别给win和ubuntu分配ip地址,Ubuntu与win在同一段网络 NAT模式:ubun ...

  8. Linux 给文件夹或者文件增加权限-九五小庞

    chmod -R 777 文件夹 参数-R是递归的意思 777表示开放所有权限   chmod 777 test.sh chmod +x 某文件 如果给所有人添加可执行权限:chmod a+x 文件名 ...

  9. Win11纯净版如何修改dns的问题

    有很多电脑基地的小伙伴平常在使用电脑的时候会遇到电脑网络无法连接的情况,这时可以尝试通过修改dns地址来解决,不过很多用户不清楚win11纯净版怎么修改dns,其实只要打开网络高级设置就可以了.下面一 ...

  10. Matlab 分类算法

    一.分类算法核心概念 分类是监督学习任务,目标是将数据分配到预定义的类别中.关键步骤包括: 特征工程:提取/选择区分性强的特征 模型训练:学习特征与类别的映射关系 评估指标:准确率.精确率.召回率.F ...