platform:stm32f10xxx lib:STM32F10x_StdPeriph_Lib_V3.5.0 前言 在做三相逆变的时候,需要软件生成SVPWM波形,具体的算法需要产生三对互补的PWM,这样可以驱动六个开关元件,stm32f103中的TIM1高级定时器支持产生三路互补PWM波形,下面进一步学习. PWM产生的原理 TIM1的OC模块,可以产生PWM波形,具体步骤: 寄存器TIMx CNT每过一个时钟周期就会加1: 然后TIMx CNT的值与TIMx CCER进行比较: 最终改变O…
一.   TIMER分类: STM32中一共有11个定时器,其中TIM6.TIM7是基本定时器:TIM2.TIM3.TIM4.TIM5是通用定时器:TIM1和TIM8是高级定时器,以及2个看门狗定时器和1个系统嘀嗒定时器.其中系统嘀嗒定时器是前文中所描述的SysTick. 定时器 计数器分辨率 计数器类型 预分频系数 产生DMA请求 捕获/比较通道 互补输出 TIM1 TIM8 16位 向上,向下,向上/向下 1-65536之间的任意数 可以 4 有 TIM2 TIM3 TIM4 TIM5 16…
CodeIgniter用户指南——数据库类 数据库配置 入门:用法举例 连接数据库 查询 生成查询结果 查询辅助函数 Active Record 类 事务 表格元数据 字段元数据 自定义函数调用 查询缓存 数据库维护类 数据库工具类 1.数据库配置 CodeIgniter 有一个配置文件让你存放数据库连接值(username:用户名,password:密码,database name:数据库名,等等..). 该配置文件位于application/config/database.php. 你也可以…
layout: post tags: [STM32] comments: true 文章目录 layout: post tags: [STM32] comments: true 重点内容 时基单元 计数模式 重点内容 不管是基于标准库还是直接操作寄存器,因为TIM定时器的功能比较多,这里单纯只从定时器的角度进行学习,这里需要重点关注的地方应该有以下几点: 定时器时钟频率的计算: 计数器计数的模式,以及一般模式会有哪些应用场景: 向上计数 向下计数 中央对齐模式:该模式下需要关注触发中断几种的方式…
layout: post tags: [STM32] comments: true 文章目录 layout: post tags: [STM32] comments: true 为什么要了解时钟树? 树的根 标准库的时钟配置 外部时钟源16M SetSysClockTo72 patch 其他细节 为什么要了解时钟树? 最近项目开发的时候,外部时钟源是16MHz,结果配置错了系统时钟,STM32F103的系统时钟频率最高为72MHz,错误地配置到了144MHz,但是AHB总线时钟又正确地配置到72…
俗话说,工欲善其事必先利其器.当我们想从事一门新的语言的时候,最重要的是熟悉其常用的编辑器的配置.刚好这两天在学习python,网上看到一篇比较好的文章,转载过来自己学习一下.感谢:https://segmentfault.com/a/1190000010783422 的原创文章. 1 常用文件模板设置 经常使用的模板需要自己定制一下,比如shebang 2 默认打开上次的项目 pycharm默认是打开上次的项目,但有时这样反而浪费时间,因为你并不想打开上次的项目,所以干脆关闭这个功能了. 3…
文章首发于[陈树义]公众号,点击跳转到原文:https://mp.weixin.qq.com/s/sA0nYevO8yz6QLRz03qJSw 前面我们使用 Prometheus + Grafana 实现了一个简单的 CPU 使用率变化图,但是这个图还有许多缺陷,例如:左边栏的数值太小了无法调整,下面的图标信息无法定制化等等. 其实 Grafana 的功能是非常强大的,可以针对不同的需求进行针对性设置,从而做出让你满意的监控图表.那么我们今天就系统地讲一讲如何设置 Grafana 图表! Das…
STM32 TIM高级定时器的互补PWM支持插入死区时间,本文将介绍如何计算以及配置正确的死区时间. 文章目录 什么是死区时间? 数据手册的参数 如何计算合理的死区时间? STM32中配置死区时间 什么是死区时间? 死区时间主要是在逆变电路中,防止一个桥臂的上下两个开关器件同时导通,那么会导致电路电流上升,从而对系统造成损害.因为开关元器件的tdont_{don}tdon​和tdofft_{doff}tdoff​严格意义并不是相同的.所以在驱动开关元器件门极的时候需要增加一段延时,确保另一个开关…
基本流程: 1.配置定时器 2.开启定时器 3.动态改变pwm输出,改变值  HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_1); 函数总结: __HAL_TIM_SET_COMPARE() // 是设置CCRx,一般是用在PWM输出的,控制PWM占空比 __HAL_TIM_GET_COMPARE // 是用来读取CCRx的,一般用于捕获处理 PWM输出配置: 频率设置: static void MX_TIM2_Init(void) { TIM_MasterConf…
主从定时器的原理已在上篇博文: 基于STM32F429+HAL库编写的定时器主从门控模式级联输出固定个数PWM脉冲的程序 讲解了,这篇重点就讲如何实现多通道的PWM级联输出. 1.软件环境 Keil5,Cube5.21 2.Cube配置 选择定时器3,打开通道1和通道2的PWM输出,然后开启主从模式,触发方式为上升沿触发. 频率和占空比的设置请看上篇博文. 生成的代码 如下 void MX_TIM3_Init(void) { TIM_MasterConfigTypeDef sMasterConf…