码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • HK32MCU应用笔记| HK32F103x/C/D/E-TIM1的应用及注意事项


    深圳市禾川兴科技有限公司代理航顺芯片技术研发有限公司推出的HK32F103x/C/D/E是中大容量的103系列芯片。HK32MCU应用笔记。作为32位MCU常用的外设TIM1是高级控制定时器(TIM1 和TIM8)由一个16 位的自动装载计数器组成,它由一个可编程的预分频器驱动。它适合多种用途,包含测量输入信号的脉冲宽度(输入捕获),或者产生输出波形(输出比较、PWM、嵌入死区时间的互补PWM 等)。使用定时器预分频器和RCC 时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒到几个毫秒的调节。高级控制定时器(TIM1 和TIM8)和通用定时器(TIMx)是完全独立的,它们不共享任何资源。它们可以同步操作每个定时器都是完全独立的,没有互相共享任何资源。

    01、TIM1主要功能

    TIM1 和TIM8 定时器的功能包括:

    1)、DAC 触发功能

    2)、四路输入通道都新增下降沿触发,和双沿触发功能

    3)、16 位向上、向下、向上/下自动装载计数器

    4)、16 位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65535 之间的任意数值

    5)、多达4 个独立通道:

    ─ 输入捕获

    ─ 输出比较

    ─ PWM 生成(边缘或中间对齐模式)

    ─ 单脉冲模式输出

    6)、死区时间可编程的互补输出

    7)、使用外部信号控制定时器和定时器互联的同步电路

    8)、允许在指定数目的计数器周期之后更新定时器寄存器的重复计数器

    9)、刹车输入信号可以将定时器输出信号置于复位状态或者一个已知状态

    10)、如下事件发生时产生中断/DMA:

    ─ 更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)

    ─ 触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)

    ─ 输入捕获

    ─ 输出比较

    ─ 刹车信号输入

    11)、支持针对定位的增量(正交)编码器和霍尔传感器电路

    12)、触发输入作为外部时钟或者按周期的电流管理

    02、TIM1 trigger 触发ADC转换

    转换可以由外部事件触发(例如定时器捕获,EXTI 线)。如果设置了EXTTRIG 控制位,则外部事件就能够触发转换。EXTSEL[2:0]和JEXTSEL2:0]控制位允许应用程序选择8 个可能的事件中的某一个,可以触发规则和注入组的采样。

    注意:当外部触发信号被选为ADC 规则或注入转换时,只有它的上升沿可以启动转换。

    ​

    编辑切换为居中

    添加图片注释,不超过 140 字(可选)

    ​

    编辑切换为居中

    添加图片注释,不超过 140 字(可选)

    ​

    编辑切换为居中

    添加图片注释,不超过 140 字(可选)

    软件触发事件可以通过对寄存器ADC_CR2 的SWSTART 或JSWSTART 位置’1’产生。规则组的转换可以被注入触发打断。

    03、操作TIM1 trigger触发ADC转换需要注意

    用户在使用HK32F103xC/D/E的ADC注入通道配置为外部事件触发转换方式,当选择定时器触发时(比如TIM1的CC4事件触发),只要TIM1的Counter Enable,CC4E不置1,MOE也不置1,我们的芯片就能触发ADC转换了,而S**T芯片必须是CC4E置1,MOE也置1才能触发ADC转换,这说明我们芯片TIMER的trigger信号只要TIM1的Counter enable就输出了,而S**T芯片要CC4E置1,MOE也置1才输出trigger信号。

    如果ADC的转换数据一直在有效使用的情况下,(比如说一直用 DMA把数据搬运到有效参与系统运行的场合)如果这样配置我们芯片会在被认为是TIMER不触发转换的时候(CC4E置0,MOE也置0)产生很多无效的数据 影响系统正常运行。

    如果遇到上面的问题时,在不使用ADC转换数据时要将TIMER的 Counter Disable。要正常使用时再Enable TIMER Counter。

    以上有关寄存器的介绍可以参考我们HK的HK32F103xC/D/E的应用手册。

    相关阅读: HK32MCU应用笔记(一)| HK32F030X系列在PH测量笔的应用 HK32MCU应用笔记(二)| 国外品牌采用航顺HK32F030R8T6代替出现串口不兼容解决方法 HK32MCU应用笔记(三)| 航顺芯片在5G光纤测试仪的应用 HK32MCU应用笔记(四)| 关于老版本HK32F103串口USART偶尔出现数据错误 HK32MCU应用笔记(五)| 关于应用HK32F030延时效率问题 HK32MCU应用笔记(六)| HK32MCU芯片调试心得 HK32MCU应用笔记(七)| 航顺HK32MCU闩锁效应问题研究及预防措施 HK32MCU应用笔记(八)| 航顺HK32F03X内部8M时钟倍频成72M解决方案 HK32MCU应用笔记(九)| HK32F103x8xB系列CAN的应用解决方案 HK32MCU应用笔记(十)| HK32F103xC/D/E的ADC常规和注入通道同时触发时的处理机制 HK32MCU应用笔记(十一)| HK32F103xC/D/E的flash读保护应用及注意事项 HK32MCU应用笔记(十二)| HK32F103xC/D/E的GPIO的应用及注意事项 HK32MCU应用笔记(十三)| HK32F103xC/D/E-ADC的应用及注意事项

  • 相关阅读:
    足底筋膜炎最好的恢复办法
    Java集合框架(四)-HashMap
    中秋聊月相
    Flutter项目开发模版,开箱即用
    高校社团管理系统jsp和javabean开发
    WebRTC系列-SDP之setLocalDescription(2)
    TCP 的 Keepalive 和 HTTP 的 Keep-Alive 是一个东西吗?
    solidworks底部状态栏显示不出来
    Python math 模块
    杰理之 DAC详细配置【篇】
  • 原文地址:https://blog.csdn.net/hw1234568/article/details/126101063
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号