蓝桥杯——PWM波输出与捕获

news/2025/2/23 5:53:25

pwm输出

要求如下,按要求去配置引脚。

ccr输出比较寄存器,占空比,一段时间内高电平所占比列

引脚功能设置为TIM2-CH2,ch2就是定时器的通道二,根据上面的公式计算给出f=1000,时ARR与PSC的值,系统频率f为80 000000  ,然后生成代码,之后一定要在main加上是能代码(定时器 计数器 PWM都要使能)

使能

占空比根据公式  占空比=ccr/(arr+1)设置,上面设置ARR为100-1,则ccr为50就得占空比50%

cnt等于ccr之前与之后分别可以设置为高电平和低电平,即cnt=ccr之前的时间输出高电平,之后的时间输出低电平

PWM波输出捕获

pwm捕获原理就是pwm波上升沿或下降沿产生一个中断,在两个中断之间获取周期T,根据f=1/T计算得到PWM的频率

开发板子上的信号发生器的555定时器out引脚输出一个频率可调的PWM波,然后通过PA15引脚去测量555定时器PWM波的频率,pwm频率可调是通过R40电位器去调的

频率可以有两种方式进行测量,一种定义PA15和PB4去测量,另一种定义一个PA7引脚去测量PA1输出的PWM,这样子就要用杜邦线把PA1与PA7连起来

真题,用PA7去测量

配置引脚功能,一下配置后还要是能一下中断后再生成代码

生成代码后要使能一下

找到输入捕获的回调函数写中断函数

ctrl+f去找一下捕获cnt值得函数

fre就是频率,后面就是f的公式

方法改进,用上面的方法还要去找函数,其实捕获时把cnt的值给ccr,就可以直接把TIM17->ccr1的值给capture_value


http://www.niftyadmin.cn/n/5863046.html

相关文章

基于 DeepSeek LLM 本地知识库搭建开源方案(AnythingLLM、Cherry、Ragflow、Dify)认知

写在前面 博文内容涉及 基于 Deepseek LLM 的本地知识库搭建使用 ollama 部署 Deepseek-R1 LLM知识库能力通过 Ragflow、Dify 、AnythingLLM、Cherry 提供理解不足小伙伴帮忙指正 😃,生活加油 我站在人潮中央,思考这日日重复的生活。我突然想&#xff0c…

区块链相关方法-SWOT分析

1.SWOT 一、定义:一种基于内外部竞争环境和竞争条件下的态势分析,通过对企业的内外环境所形成的优势(Strengths)、劣势(Weaknesses)、机会(Opportunities)和威胁(Threats&#xff0…

蓝禾,oppo,游卡,汤臣倍健,康冠科技,作业帮,高途教育25届春招内推

蓝禾,oppo,游卡,汤臣倍健,康冠科技,作业帮,高途教育25届春招内推 ①康冠科技 【职位】算法、软件、硬件、技术,结构设计,供应链,产品,职能,商务 【…

C#初级教程(6)——函数:从基础到实践

一、函数的核心价值:简化与复用代码 以游戏开发项目为例,在游戏中,角色的移动、攻击等行为并非只在单一场景中出现。设想一下,若每次需要角色执行这些行为时,都要重新编写对应的代码,那将是何等繁琐且易错的…

【洛谷排序算法】P1012拼数-详细讲解

这道题本质上是通过确定数字的拼接顺序来得到最大拼接数,虽然主要思路是利用字符串及其比较规则来实现,但也可以基于数组结合一些转换操作来解决,以下是大致思路和代码示例: 【算法思路】 首先将输入的数字存储在数组中。然后自…

【Linux】34.封装 UdpSocket(1)

文章目录 1. 实现一个简易的远程命令执行系统1.1 日志系统 (Log.hpp)1.2 UDP客户端 (UdpClient.cc)1.3 UDP服务器 (UdpServer.hpp)1.4 主程序 (main.c) 1. 实现一个简易的远程命令执行系统 1.1 日志系统 (Log.hpp) Log.hpp #pragma once // 防止头文件重复包含// 必要的头文…

二级公共基础之数据结构与算法篇(七)排序技术

目录 前言 一、交换类排序 1.冒泡排序法 1. 冒泡排序的思想 2. 冒泡排序的实现步骤 3. 示例 4. 冒泡排序的特点 2.快速排序 1. 快速排序的核心思想 2. 快速排序的实现步骤 3. 示例代码(C语言) 4. 快速排序的特点 二、插入类排序 1. 简单插入排序 1.简单插入排…

深入理解 Rust 中的智能指针

一、什么是智能指针? 智能指针是具有指针行为的数据结构,但它们与传统指针相比,提供了更多的功能。智能指针不仅拥有指向数据的能力,还可以管理内存,控制数据的所有权,并在不再需要时自动清理数据。Rust 通…