STM32F407-14.3.6-01输入捕获模式

news2024/11/20 16:26:01

输入捕获模式 

在输入捕获模式下,当相应的 ICx⑦ 信号检测到跳变沿后,将使用捕获/比较寄存器 (TIMx_CCRx⑪) 来锁存计数器的值。发生捕获事件时,会将相应的 CCXIF⑬ 标志(TIMx_SR 寄存器)置 1, 并可发送中断或 DMA 请求(如果已使能)。如果再次发生捕获事件时 CCxIF⑬ 标志已处于高位, 则会将重复捕获标志 CCxOF⑫(TIMx_SR 寄存器)置 1。可通过软件向 CCxIF⑬ 写入 0 来给 CCxIF⑬ 清零,或读取存储在 TIMx_CCRx⑪ 寄存器中的已捕获数据。向 CCxOF⑫ 写入“0”后 会将其清零。

以下示例说明了如何在 TI1⑦ 输入出现上升沿时将计数器的值捕获到 TIMx_CCR1⑪ 中。
具体操作步骤如下: 
第一步 : 选择有效输入:TIMx_CCR1⑪ 必须连接到 TI1⑦ 输入,因此向 TIMx_CCMR1 寄存器中的 CC1S⑥ 位写入 01。只要 CC1S 不等于 00,就会将通道配置为输入模式,并且 TIMx_CCR1⑪ 寄存器将处于只读状态。 
第二步 : 根据连接到定时器的信号,对所需的输入滤波时间进行编程(如果输入为 TIx 输入,则 对 TIMx_CCMRx 寄存器中的 ICxF③ 位进行编程)。假设信号边沿变化时,输入信号最多在 5 个内部时钟周期内发生抖动。因此,我们必须将滤波时间设置为大于 5 个内部时钟周期。在检测到 8 个具有新电平的连续采样(以 f^DTS② 频率采样)后,可以确认 TI1 上的跳变沿。然后向 TIMx_CCMR1 寄存器中的 IC1F③ 位写入 0011。 
第四步 : 通过在 TIMx_CCER 寄存器中将 CC1P 位和 CC1NP⑤ 位写入 0,选择 TI1 上的有效转换边沿(本例中为上升沿)。
第五步 : 对输入预分频器进行编程。在本例中,我们希望每次有效转换时都执行捕获操作,因此 需要禁止预分频器(向 TIMx_CCMR1 寄存器中的 IC1PSC⑧ 位写入“00”)。 
第六步 : 通过将 TIMx_CCER 寄存器中的 CC1E⑨ 位置 1,允许将计数器的值捕获到捕获寄存器中。 
第七步 : 如果需要,可通过将 TIMx_DIER 寄存器中的 CC1IE⑭ 位置 1 来使能相关中断请求,并且/ 或者通过将该寄存器中的 CC1DE⑮ 位置 1 来使能 DMA 请求。 


发生输入捕获时: 
·    Ñ生有效跳变沿时,TIMx_CCR1⑪ 寄存器会获取计数器的值。 
·     CC1IF⑬ 标志置 1(中断标志)。如果至少发生了两次连续捕获,但 CC1IF⑬ 标志未被 清零,这样 CC1OF⑫ 捕获溢出标志会被置 1。 
·    9据 CC1IE⑭ 位生成中断。 
·    9据 CC1DE⑮ 位生成 DMA 请求。
 
要处理重复捕获,建议在读出捕获溢出标志之前读取数据。这样可避免丢失在读取捕获溢出标志之后与读取数据之前可能出现的重复捕获信息。
注意:通过软件将 TIMx_EGR 寄存器中的相应 CCxG⑩ 位置 1 可生成 IC 中断和/或 DMA 请求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1269422.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云时空社会化商业 ERP 系统 Shiro 反序列化漏洞复现

0x01 产品简介 时空云社会化商业ERP(简称时空云ERP) ,该产品采用JAVA语言和Oracle数据库, 融合用友软件的先进管理理念,汇集各医药企业特色管理需求,通过规范各个流通环节从而提高企业竞争力、降低人员成本…

SpringMVC多种类型数据响应

SpringMVC多种类型数据响应入门 1.概念 RequestMapping 作用:用于建立请求URL和处理请求方法之间的对应关系 位置: 类上,请求URL的第一级访问目录。此处不写的话,就相当于应用的根目录 方法上,请求URL的第二级访问目…

【二叉树】Leetcode 199. 二叉树的右视图

力扣题目链接 解题思路 一开始&#xff0c;我以为只需要依次遍历最右边一列所有数即可&#xff0c;写出来的代码也通过了样例&#xff1a; class Solution { public:vector<int> rightSideView(TreeNode* root) {vector<int> ans;TreeNode* temp root;while(tem…

游戏缺少d3dx9_43.dll修复方法分享,快速解决dll缺失问题

在计算机使用过程中&#xff0c;我们常常会遇到一些错误提示&#xff0c;其中之一就是“找不到d3dx9_43.dll文件”。这个错误通常出现在运行某些游戏或应用程序时&#xff0c;d3dx9_43.dll是一个动态链接库文件&#xff0c;它是DirectX 9的一部分&#xff0c;用于支持游戏中的3…

LeetCode 7 整数反转

题目描述 整数反转 给你一个 32 位的有符号整数 x &#xff0c;返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] &#xff0c;就返回 0。 假设环境不允许存储 64 位整数&#xff08;有符号或无符号&#xff09;。 示例…

U-boot(七):U-boot移植

本文主要探讨基于210官方U-boot源码移植。 移植基础 tar -jxvf android_uboot_smdkv210.tar.bz2cd u-boot-samsung-devrm -rf onenand_ipl onenand_bl1 lib_avr32 lib_blackfin lib_i386 lib_m68k lib_mips lib_microblaze lib_nios lib_nios2 lib_ppc lib_sh lib_sparccd bo…

Ubuntu防止休眠和挂起(笔记)

目录 1 动机2 禁用休眠3 解除休眠 1 动机 我要将 饿啊人制作成 noah-mp 的区域运行强迫&#xff0c;但是跑的慢&#xff0c;一晚上两天。后来发现是因为电脑自动 supend 了。Ubuntu 在电源那里最多只能设置 2 小时的防止休眠&#xff0c;2小时候又自动休眠&#xff0c;严重影响…

mongodb基本操作命令

mongodb快速搭建及使用 1.mongodb安装1.1 docker安装启动mongodb 2.mongo shell常用命令2.1 插入文档2.1.1 插入单个文档2.1.2 插入多个文档2.1.3 用脚本批量插入 2.2 查询文档 前言&#xff1a;本篇默认你是对nongodb的基础概念有了了解&#xff0c;操作是非常基础的。但是与关…

Opencv手势控制音量!附源码!

效果演示&#xff1a; 废话不多说&#xff01;直接上源码&#xff01;下面写有所有代码注释&#xff01;&#xff01; import cv2 import mediapipe as mp #它包含了各种预训练的机器学习模型&#xff0c;可以用于姿势估计、手势识别等任务 from ctypes import cast, POINTE…

P8649 [蓝桥杯 2017 省 B] k 倍区间(前缀和+优化(桶分类))

分析&#xff1a; &#xff08;1&#xff09;任意连续子序列可用两个前缀和的差来表示 &#xff08;2&#xff09;判断该子序列是否为k的倍数 p1-p2 模 0 (mod k) 等价于&#xff1a;前缀和模 k 是否同余 &#xff08;3&#xff09;同余的任意两前缀和组合的序列均满足…

[React] 2023年最新面试题

[React] 2023年最新面试题 1. class 组件与函数组件的区别2. react 18 新特性有那些?新增 createRoot API自动批处理过渡更新新的Hook 3. redux 和 react-redux 的区别4. redux 中间件的原理5. setState 发生了什么 &#xff0c;render 函数做了什么6. 虚拟DOM&#xff0c; Fi…

【面试】typescript

目录 为什么用TypeScript&#xff1f; TS和JS的区别 控制类成员可见性的访问关键字&#xff1f; public protected&#xff09;&#xff0c;该类及其子类都可以访问它们。 但是该类的实例无法访问。 私有&#xff08;private&#xff09;&#xff0c;只有类的成员可以访问…

JSON.stringify方法详解 后端接受JSON数据格式

1、方法定义&#xff1a;JSON.stringify(value, replacer, space) 参数说明&#xff1a; value&#xff1a;js对象 replacer&#xff1a;替换对象&#xff0c;可以是一个方法、对象或数组&#xff0c;将value按照替换规则展示。 space&#xff1a;填充参数&#xff0c;可以是数…

LVS+Keepalived实验

实验前准备 主DR服务器&#xff1a;(ens33)192.168.188.11 ipvsadm、keepalived (ens33:0)192.168.188.188 备DR服务器&#xff1a;(ens33)192.168.188.12 ipvsadm、keepalived (ens33:0)192.168.188.188 Wbe服务器1&#xff1a;(ens33)192.168.188.13 (lo:0)192.168.188.188 W…

selenium使用记录

本文记录python环境下使用selenium的一些步骤 Step1&#xff1a;安装并配置驱动 pip install selenium # 使用pip在对应python中安装selenium包为了让selenium能调用指定的浏览器&#xff0c;需要下载对应浏览器的驱动程序&#xff08;这里以edge为例子&#xff09; #Firefo…

【Openstack Train安装】四、MariaDB/RabbitMQ 安装

本章介绍了MariaDB/RabbitMQ的安装步骤&#xff0c;MariaDB/RabbitMQ仅需要在控制节点安装。 在安装MariaDB/RabbitMQ前&#xff0c;请确保您按照以下教程进行了相关配置&#xff1a; 【Openstack Train安装】一、虚拟机创建 【Openstack Train安装】二、NTP安装 【Opensta…

改善厦门城市内涝积水问题,实时监测城市易涝积水点

近年来&#xff0c;城市内涝积水问题已成为中国许多城市面临的严峻挑战。特别是在厦门这样的海滨城市&#xff0c;由于其特殊的地理环境和气候条件&#xff0c;内涝问题尤为突出。传统的解决方法主要依赖于人工排查&#xff0c;然而&#xff0c;这种方式存在许多缺陷。 WITBEE万…

BEVFormer【人工智能】

BEVFormer 是一篇今年中稿 ECCV 2022 的论文&#xff0c;其中提出了一种纯视觉&#xff08;camera&#xff09;感知任务的算法模型&#xff0c;用于实现3D目标检测和地图分割任务。该算法通过提取环视相机&#xff08;Bird’s Eye View Camera&#xff09;采集到的图像特征&…

【产品设计】SaaS产品数据分析之指标与标签

数据分析能够应用到各个领域和岗位&#xff0c;那么在SaaS产品中的应用会是如何&#xff1f;本文将探索SaaS产品在数据分析中的应用&#xff0c;并对其指标与标签的设计进行总结分析&#xff0c;一起来看看吧。 数据分析是业务开展过程中&#xff0c;收集记录各种行为产生的数据…

vue2+element-ui npm run build打包后,在服务器打开报错

报错 页面的图标也显示不出来&#xff0c;如下 解决&#xff1a; 在build->utils.js文件里面加上publicPath: ../../&#xff0c;再打包发布一下就可以了 // Extract CSS when that option is specified// (which is the case during production build)if (options.extrac…