stm32f767之PWM

news2024/12/25 0:34:41

 仅作笔记,很多内容参考网友文章。

PWM 输出,是利用定时器的比较输出功能,所以就是配置定时器。

1,选择定时器8

tim1和tim8为高级定时器

 一般我们选择内部时钟,也就是由APB 外设时钟提供。根据选择的输出IO口,选择输出通道。

2,定时分频设置。

以下来自网友文章:

(3条消息) 使用HAL库开发STM32:Timer基础说明与定时功能使用_Naisu Xu的博客-CSDN博客_hal_tim_base_start_it

确定了时钟来源我们接着使用定时功能主要处理下面几项参数:

Prescaler 预分频系数
输入给计数器的信号频率 = 输入到预分频器的信号频率 / (预分频系数 + 1)
该值为0相当于对输入信号1分频,也就是不分频;该值为1相当于对输入信号2分频,依此类推;
在STM32系列中该值常见取值范围为0~65535;
CounterMode 计数模式
计数模式常见的就是 Up(向上计数模式),这个模式下计数器初始值为0,计数到下面的 Period+1 算作一个周期;
其它可选值 Down(和UP反一反),Up/down(第一个周期是UP、第二个周期是Down,反复进行);
Period 计数周期
以 Up模式 为例,在此模式下计数器从0开始计数,每一个信号计数值+1, 当计数Period次之后计数器值为Period,当再有一个信号进入后就算计数满一个周期 ,可以触发溢出中断或是其它动作;
在STM32系列中该值常见取值范围为0~65535;
AutoReloadPreload 预装载
计数器再计满一个周期之后会自动重新计数,也就是默认会连续运行。这连续运行过程中如果你修改了Period,那么根据当前状态的不同有可能发生超出预料的过程。如果使能了AutoReloadPreload,那么你对Period的修改将会在完成当前计数周期后才更新;


Timer作为定时使用时信号来源通常使用内部时钟,当我们确定Timer的时钟信号频率后根据此设定实现定时某一时间周期所需要的参数了,这里主要涉及Prescaler和Period两个参数。Prescaler是对输入定时器的时钟信号进行分频,Period为一个周期中的计数值。

根据上面的内容Timer每计数一次的时间为 1秒 ÷ (时钟频率 ÷ (Prescaler + 1))

定时器计数满一个周期的时间为 计数一次时间 × (Period + 1) 秒

所以定时时间计算公式如下:
定时时间 = (Prescaler + 1) × (Period + 1) ÷ 时钟频率 单位:秒

STM32单片机中有很多个Timer,通常TIM6和TIM7称为基础定时器、TIM1和TIM8称为高级定时器、其余的被称为通用定时器。基础定时器基本上只有定时功能;通用定时器在定时基础上还支持外部输入捕获、比较、PWM输出等功能;高级定时器在通用定时器的基础上只要增加了用于电机控制等功能。

原文链接:https://blog.csdn.net/Naisu_kun/article/details/118703547

Repetition counter
以下来自手册,我的理解是控制累计多少个定时器周期再产生更新事件(中断),不知道理解的对不对。

 

3,PWM设置

 下面设置参考以下文章:

(3条消息) STM32Cube的PWM控制基础篇(三)定时器的PWM设置详解_ASWaterbenben的博客-CSDN博客_ch polarity

 

4,程序

初始化添加代码

  MX_TIM8_Init();
  /* USER CODE BEGIN 2 */
  HAL_TIM_Base_Start(&htim8);

添加完初始化代码,就可以用示波器看相应的引脚有没有输出了。

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

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

相关文章

手把手教你搭建视频去重系统

#01 背景 如今,短视频平台对各类搬运视频的检测力度和精确度越来越高了。无论是影视号的剪辑,还是从油管搬运,即使做了各类复杂的视频变换,都很容易被检测出来。作者都会收到提醒,严重的甚至被封号。 乔布斯演讲原始视…

您公司的财务流程是世界一流的还是二流的?

您公司的财务流程是世界一流的还是二流的? 组织开始意识到,提高财务和会计流程的有效性和效率不仅是财务部门内部的目标,而且对整个公司的战略目标也意义重大。首席财务官必须扪心自问——我们的财务流程是世界一流的还是二流的,…

Mac安装NDK android-ndk-r25b-darwin.dmg

文章目录废话连片教程片段1. 打开要存放的目录.2. 打开 .app 的包内容配置环境变量 MAC (在终端/cmd/命令行中运行)废话连片 最近在用 xx存图 下载 小蓝鸟、油管 视频, 一开始觉得挺好用的, 直到… 免费下载次数已用完. 就想着自己弄一个下载视频的小工具, 便查询到了 python …

基于JavaWeb的宿舍管理系统的设计与实现

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

网页设计期末课程大作业:基于HTML+CSS+JavaScript+Bootstrap制作响应式网站信息技术交流博客(7页)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

gradle的访问目录和支付宝的注意事项

经过我100多次的测试发现。gradle项目不管是打包 还是不打包。他的访问目录都是 config.class.getResourceAsStream("config.properties") 当前class所在的目录, 而支付宝的sdk。他的访问文件的目录是项目的根目录。 比如 你的项目文件是这个样子。运…

QT-自定义本地翻译模块,简单实用

QT-自定义本地翻译模块,简单实用前言一、演示效果二、核心模块1.本地xml的操作过程2、翻译模块三、程序链接前言 QT的国际语言每次如果有字符串变动,都需要重新再编译一下,真的是顶不住,说实话,用起来真的是不习惯。 …

DataX-Web 源码调试及打包

文章目录1、还原 dataxweb 数据库2、修改配置文件3、打包前文回顾: 《DataX 及 DataX-Web 安装使用详解》 《DataX 源码调试及打包》 源码地址:https://github.com/WeiYe-Jing/datax-web 1、还原 dataxweb 数据库 sql 脚本在目录 /bin/db/datax-web.sq…

Keycloak之17.0.1 版本与Jenkins安装与集成-yellowcong

jekins和keycloak的认证,是依赖于 Keycloak Authentication Plugin 插件,进行认证处理,这个配置还是相对比较简单的,最坑的一点就是如果配置错误了,如何恢复的问题。 keycloak 应用集成 Keycloak之安装与启动-yellowcong Keycloak之功能介绍与简单使用-yellowcong Keyc…

BW取月底月初日期函数

BW取月底内置的函数与SAP有差异,为 SN_LAST_DAY_OF_MONTH,如下 很简单的逻辑,主要通过2月的日期进行判断为平年还是闰年,其他月末日期固定 取月底函数: call function SN_LAST_DAY_OF_MONTH EXPORTING DAY_IN …

如何下载不同格式的卫星地图

如何下载不同格式的卫星地图 发布时间:2018-01-17 版权: 务名称:下载任务的名称,可重命名 经纬度范围当前下载区域所在的经纬度范围,不可更改 保存路径:下载你选择区域的文件保存的地方,可更…

基于jsp+mysql+ssm在线培训教育平台-计算机毕业设计

项目介绍 本在线培训教育课程平台系统主要包括系统用户管理模块、课程类别管理模块、课程信息管理、站内新闻管理、登录模块、和退出模块等多个模块。它帮助在线教育平台实现了信息化、网络化,通过测试,实现了系统设计目标,系统采用了jsp的mvc框架,SSM(…

Allegro如何检查过孔类型是否使用正确操作指导

Allegro如何检查过孔类型是否使用正确操作指导 Allegro可以检查PCB上过孔类型是否使用正确,让使用错误的过孔以DRC的形式报出来,具体操作如下 选择setup-Constraint-modes 出现Analysis mode的窗口,选择Physical Modes,Vialist DRC选择on开关,并且保证On-line DRC是勾选…

【数据结构】堆的实现(向上、下调整比较,复杂度,堆排序,Top-K问题)

文章目录一、堆的实现1、堆的概念2、堆的性质3、堆的实现堆的创建(向上、下调整比较)堆排序Top-K(读取文件当中的数据)一、堆的实现 1、堆的概念 如果有一个关键码的集合K {k0,k1, k2,…&…

餐饮行业的成本率与毛利率

1、成本率与毛利率 成本率是指成本量与营业额(销售额)之间的比率,表示实现一定量的销售额需要多少比例的成本资源消耗。 成本率越低,表示企业实现单位业绩付出的资源代价越小,释放出的收益空间越大;相反&a…

docker安装nginx以及(nginxWebUI和nginx-gui图形化界面的使用)

一、docker安装nginx 1、拉取镜像 docker pull nginx2、创建挂载目录 mkdir -vp /usr/local/docker/nginx cd /usr/local/docker/nginx #创建用户挂在的目录 mkdir -vp logs html conf3、启动镜像 1、方式一(推荐) 1、启动 docker run -d --name nginx -p 80:80 nginx2、…

vue实现企业微信扫码登录后台管理系统

大致流程 在登录页面构建内嵌式登录二维码(这种方式好处:无需跳转到企业微信域下登录后再返回,提升企业微信登录的流畅性与成功率)扫二维码之后,微信那边会跳转到redirect_uri你重定向的地址,后面会拼接co…

医疗器械网络安全漏洞自评报告模板

提示:编制医疗器械网络安全漏洞自评报告要点解析 文章目录1. 目的2. 引用文件3. CVSS漏洞等级3.1 概述3.1.1 适用范围说明3.1.2 CNNVD-ID定义3.1.3 编码原则3.1.4 CNNVD-ID语法介绍3.2 指标分析3.2.1 基本指标3.2.1.1可用性指标1)攻击向量2)攻击复杂性3)所需权限4)用…

二、基础平滑、面积折线图与折线堆叠、面积堆叠《手把手教你 ECharts 数据可视化详解》

注:本系列教程需要对应 JavaScript 、html、css 基础,否则将会导致阅读时困难,本教程将会从 ECharts 的官方示例出发,详解每一个示例实现,从中学习 ECharts 。 ECharts 官方示例:https://echarts.apache.o…

蚁剑v4.0流量分析

​ 目录 0x01声明: 0x02简介: 0x03环境搭建: 下载: 初始化项目: 0x04流量分析: 解密: 0x05总结: 0x01声明: 仅供学习参考使用,请勿用作违法用途&…