STM32F334timer6-7

2023/11/30 8:29:07

STM32F334timer6-7

  • 概况
  • 预分频器描述
  • 计数模式
  • 时钟

概况

基本计时器(TIM6/TIM7)功能包括:
•16位自动重新加载递增计数器
•16位可编程预分频器,用于将计数器时钟频率除以1和65535之间的任何因子(也可“动态”)
•同步电路,用于触发DAC
•更新事件时的中断/DMA生成:计数器溢出
在这里插入图片描述

时基单元可编程计时器的主要模块是一个16位递增计数器及其相关的自动重新加载寄存器。计数器时钟可以被预分频器分频。
计数器、自动重新加载寄存器和预分频器寄存器可以由软件写入或读取。即使计数器正在运行,也是如此。
时基单元包括:•计数器寄存器(TIMx_CNT)•预分频器寄存器(TIMx.PSC)•自动重新加载寄存器(TIMx-ARR)自动重新加载的寄存器是预加载的。每次尝试写入或读取自动重新加载寄存器时,都会访问预加载寄存器。根据TIMx_CR1寄存器中的自动重新加载预加载启用位(ARPE),预加载寄存器的内容被永久地或在每次更新事件UEV时转移到影子寄存器中。当计数器达到溢出值时,如果TIMx_CR1寄存器中的UDIS位等于0,则发送更新事件。它也可以由软件生成。针对每个配置详细描述了更新事件的生成。
计数器由预分频器输出CK_CNT计时,仅当TIMx_CR1寄存器中的计数器启用位(CEN)被设置时才启用。
注意,实际计数器使能信号CNT_EN在CEN之后被设置为1个时钟周期。

预分频器描述

预分频器可以将计数器时钟频率除以1到65536之间的任何因子,他基于通过16位寄存器(在TIMx_PSC寄存器中)控制的16位计数器。
当TIMx_PSC控制寄存器被缓冲时,它可以被动态改变。在下一次更新事件中考虑新的预分频器比率。
图311和图312给出了当预分频器比率动态变化时计数器行为的一些示例。
在这里插入图片描述
在这里插入图片描述

计数模式

计数器从0计数到自动重新加载值(TIMx_ARR寄存器的内容),然后从0重新启动并生成计数器溢出事件。
可以在每次计数器溢出时或通过设置TIMx_EGR寄存器中的UG位(通过软件或使用从模式控制器)生成更新事件。
通过设置TIMx_CR1寄存器中的UDIS位(UDIS:更新禁用),软件可以禁用UEV事件(更新事件)。这避免了在将新值写入预加载寄存器时更新影子寄存器。这样,直到UDIS位被写入0,才发生更新事件,然而,计数器和预缩放计数器都从0重新启动(但预缩放率不变)。此外,如果TIMx_CR1寄存器中的URS(该位由软件设置并清除,以选择UEV事件源。如果启用,会生成更新中断或DMA请求)位被设置,则设置UG位会生成更新事件UEV,但未设置UIF标志(因此不会发送中断或DMA请求)。
当发生更新事件时,更新所有寄存器,并设置更新标志(TIMx_SR寄存器中的UIF位)(取决于URS位):
•预分频器的缓冲区重新加载了预加载值(TIMx_PSC包含在每个更新事件时要加载到活动预分频器寄存器中的值。)
•自动重新加载阴影寄存器使用预加载值更新(TIMx_ARRARR是要加载到实际自动重新加载寄存器中的值。)。
下图显示了当TIMx_ARR=0x36时,不同时钟频率的计数器行为的一些示例。
在这里插入图片描述
ARPE自动重新加载预加载启用
0:TIMx_ARR寄存器无缓冲。
1: TIMx_ARR寄存器有缓冲
在这里插入图片描述
在这里插入图片描述
UIF位重新映射
TIMx_CR1寄存器中的IUFREMAP位强制将更新中断标志UIF连续复制到计时器计数器寄存器的位31(TIMxCNT[31])。这允许原子地读取计数器值和由UIFCPY标志发出的潜在翻转条件。在特定情况下,它可以通过避免例如由后台任务(计数器读取)和中断(更新中断)之间共享的处理导致的竞争条件来简化计算。
UIF和UIFCPY标志的断言之间没有延迟。

时钟

计数器时钟由内部时钟(CK_INT)源提供。
CEN(在TIMx_CR1寄存器中)和UG位(在TIMx_EGR寄存器中)是实际控制位,只能通过软件进行更改(UG保持自动清除除外)。一旦CEN位被写入1,预分频器就由内部时钟CK_INT计时。
在这里插入图片描述


http://www.jnnr.cn/a/139784.html

相关文章

java基于ssm大学生社团管理系统-计算机毕业设计

系统采用了B/S结构,将所有业务模块采用以浏览器交互的模式,选择MySQL作为系统的数据库,开发工具选择My eclipse来进行系统的设计。基本实现了社团管理应有的主要功能模块,本系统有前台与后台两大功能模块,管理员&#…

Android BLE HIDS Data ,从问询DB 到写入Android 节点的flow 之五

问题点 7: 关于BLE HIDS data 写入到Android 节点"/dev/uhid"的flow; 关于BLE中的HIDS,首先我们需要理解好角色的定义: GATT Server 作为HID Service 提供者,对应HID Device角色; GATT Client…

进程间通信:无名管道+有名管道

进程间通信(Inter-Process Communication) 为什么需要进程间通信 当程序是多进程协同工作时,进程间基本都会涉及到数据共享 如何实现进程间数据的共享? 使用进程间通信来实现数据共享 进程间有时需要传递消息 --但是进程在系统有自己的地址…

CocosCreater学习1

1.产品定位 Cocos Creator 是以内容创作为核心,实现了脚本化、组件化和数据驱动的游戏开发工具。具备了易于上手的内容生产工作流,以及功能强大的开发者工具套件,可用于实现游戏逻辑和高性能游戏效果。 2.工作流程 3.项目文件夹结构 初次创…

静态成员函数与回调函数

1. 静态成员函数 1.1 静态成员函数调用 如何代码块里的函数get_object_count是静态成员函数,对静态成员函数无论是通过类名还是通过对象或对象指针调用,最终都会被编译器转换为全局非成员函数的调用。例如obj.get_object_count()或Point3d::get_object…

Mybatis的一级缓存

目录前置生效场景一场景二失效场景一场景二场景三场景四场景五前置 什么是一级缓存: mybatis 默认开启一级缓存, SQLSession会话缓存, 每个SQLSession都会有各自的缓存 以下会演示一级缓存生效/失效的场景 项目地址: https://gitee.com/xmaxm/test-code/blob/master/chaim-cac…

Java_抽象类

目录 1.抽象类语法 2.抽象类特性 3.抽象类的作用 抽象类概念:在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果 一个类中没有包含足够的信息来描绘一个具体的对…

【Pygame】 游戏开发 基础知识

【Pygame】 第一课 游戏开发 基础知识概述Pygame 的安装Pygame 基础命令pygame.locals 模块pygame.init()pygame.display.set_mode()案例Pygame 显示文字pygame.font.Font()fill()render()blit()pygame.display.update()案例显示英文显示中文概述 Pygame 是一个跨平台的 Pytho…

【21-业务开发-基础业务-商品模块-分类管理-商品系统三级分类的新增类别前后端代码实现-商品系统三级分类的更新类别前后端代码实现-之前错误的Bug修正】

一.知识回顾 【0.三高商城系统的专题专栏都帮你整理好了,请点击这里!】 【1-系统架构演进过程】 【2-微服务系统架构需求】 【3-高性能、高并发、高可用的三高商城系统项目介绍】 【4-Linux云服务器上安装Docker】 【5-Docker安装部署MySQL和Redis服务】…

【面试题】深入理解Cookie、Session、Token的区别

【面试题】深入理解Cookie、Session、Token的区别 Cookie与Session Cookie Session Cookie与Session之前的联系 Cookie与Session的在请求中的工作流程 Cookie与Session存在问题 Token 什么是Token? 为什么要有token? token认证机制 Token流…

手把手教你搭建K8S集群

搭建前提条件:VMare16pro CentOS-7-x86_64-DVD-2009.iso镜像文件, 远程连接工具Xshell或者MobaXterm 首先创建三台centos7的虚拟机,装虚拟机的话大家可以参照网上资料,非常容易。 使用 kubeadm 安装 Kubernetes 集群 1&#…

[附源码]计算机毕业设计JAVA后疫情下物业管理系统

[附源码]计算机毕业设计JAVA后疫情下物业管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM my…

六十分之九十——沉迷期的突破

目录一、目标二、计划三、完成情况四、提升改进(最少3点)五、意外之喜(最少2点)六、总结一、目标 明确可落地,对于自身执行完成需要一定的努力才可以完成的 1.8本技术管理书籍阅读(使用番茄、快速阅读、最后输出思维导图)2.得到"逻辑思维"、吴军硅谷来信…

SSM整合(一)

SSM整合之简单使用通用mapper 1.准备工作 1.1 在java文件夹下面创建所需要的目录 1.2 导入SSM整合时所需要的所有依赖 <properties><!--这个是统一一些spring插件的包名,避免因为版本不一样而报错--><spring.version>5.3.22</spring.version></p…

算法课实验报告解析(4班供参考)

有两个题1.第一题2.第二题1.第一题 &#x1f60b;题目描述&#xff1a; 给定一个整数数组A(ao&#xff0c;a1&#xff0c;…,an-1),若岗且ai>aj&#xff0c;则<ai.aj>就为一个逆序对。例如数组&#xff08;3,1,4,5,2,&#xff09;的逆序对有<3,1>、< 3,2>…

带你Java入门(Java系列1)

目录 前言&#xff1a; 1.什么是Java 2.Java的语言特点 3.初识Java的main方法 4.注释 5.标识符 6.关键字 7.1基本数据类型 7.2引用数据类型 8.变量 8.1.整形变量 8.2.长整形变量 8.3浮点型变量 8.3.1单精度浮点型 8.3.2双精度浮点型 8.4字符型变量 8.5布尔型…

nodejs express 的基本使用

测试需要快速过一遍express的基本使用方法 直接安装express使用 express和koa的区别](https://zhuanlan.zhihu.com/p/372128788)egg.js企业级开发框架 npm install exress --save可以使用express-generator生成项目框架 $ npx express-generatorwarning: the default view …

基于stm32单片机随机数自动摇号抽奖系统

资料编号&#xff1a;099 下面是相关功能视频演示&#xff1a; 99-基于stm32单片机随机数自动摇号抽奖系统&#xff08;源码仿真全套资料&#xff09;采用stm32单片机作为主控&#xff0c;LCD1602显示&#xff0c;通过按键来重置生成随机数&#xff0c;类似于摇号和抽奖系统 …

SAP S4 FI后台详细配置教程- PART4 (科目及税费相关配置篇)

目录 1、总帐科目 1.1编辑科目表清单 1.2 科目表分配给公司代码 1.3 定义科目组 1.4 定义留存收益科目 2、销售/购置税 2.1 维护销售/购置税务代码税率 2.2 配置销项/销项税会计科目 大家好本篇是&#xff1a;SAP S4 FI后台详细配置教程- PART4 &#xff08;科目及税…

数据结构-双链表思路解析及代码实现

双链表是单链表的进阶版&#xff0c;单链表是1-2-3-4 一个个排排坐链接&#xff0c;只管向后拉手&#xff0c;其主要思想是当前节点与下一节点的关系&#xff0c;那么双链表就多了一层关系&#xff0c;当前节点不仅和一下一点连起来&#xff0c;也要和上一节点串联起来。与前与…
最新文章