文章目录

  • 一、前言
  • 二、STM32CubeMX
    • 2.1、mode
    • 2.2、GPIO
    • 2.3、参数配置
  • 三、STM32CubeIDE
    • 3.1、main.c
  • 四、示波器
    • 4.1、例子1
    • 4.2、例子2
  • 五、STM32F4编程参考手册

一、前言


PWM信号的用途很广,特别在电机控制上。PWM信号能够控制舵机的绝对位置,直流有刷电机的转速,步进电机的转动等。

PWM信号的样子:

使用STM32F407产生PWM信号很方便,而且可以在不进入中断的前提下生成PWM信号。
具体的PWM细节参看《硬石YS-F4Pro开发板开发手册》的21.6章节- PWM模式,本次生成的PWM信号是高电平有效,当然啦,也可以是低电平有效,只是改一下设置。

二、STM32CubeMX


2.1、mode


使能了TIM1作为PWM信号的定时器,Clock Source选择内部时钟,Channel1选择PWM Gerneration CH1.

2.2、GPIO


使能了TIM1的PWM模式的通道1后,STM32CubeMX同步使能了PE9。

2.3、参数配置


Counter Period - 其实就是TIMx_ARR寄存器的值,它规定了PWM的频率。

Pulse - 其实就是TIMx_CCRx寄存器的值,它规定了PWM的占空比

CH Polarity - PWM信号的有效电平,这个例子需要产生有效的高电平,所以CH Polarity设HIGH

三、STM32CubeIDE


生成代码。

3.1、main.c

要让STM32产生PWM信号,还需要一条代码。

四、示波器

4.1、例子1


4.2、例子2

修改了一下CCR寄存器,PWM的占空比从10%变为50%了。

五、STM32F4编程参考手册


STM32F407+CubeMX-使用TIM产生PWM信号相关推荐

  1. 沁恒CH32V307使用记录:使用TIM输出PWM信号

    文章目录 目的 基础说明 使用例程 总结 目的 使用TIM输出PWM信号是单片机中比较常用的一个功能.这篇文章将对CH32V307中相关内容进行说明. 本文使用沁恒官方的开发板 (CH32V307-E ...

  2. 【STM32】实战2—用STM32产生PWM信号驱动舵机MG996R(一)

    目录 0 参考资料出处 参考博客 1 实验预期效果 2 硬件学习 2.1 舵机MG996R 3 STM32CubeMX的相关配置与接线 3.1 配置定时器TIM3 3.2 stm32原理图 3.3 舵 ...

  3. STM32—TIM3输出PWM信号驱动MG996R舵机(按键控制)

    文章目录 一.前言 二.MG996R舵机简介 三.通用定时器TIMx 四.TIM3输出PWM信号代码详解 上传代码 一.前言 利用STM32的TIM3的通道1输出PWM信号,驱动MG996R舵机,按键 ...

  4. [控制基础] 定时器TIM的PWM输出+用积分思想分析PWM对直流减速有刷电机的控制(基于STM32F103+CubeMX+HAL)

    目录 解决的需求 一.高级定时器TIM1/TIM8 1.时基单元 2.更新操作与更新事件 3.与其他定时器的比较 ①.与其他定时器时基单元的比较 ②.与通用定时器的比较 4.CK_INT与CK_CNT ...

  5. STM32F407+CubeMX-使用TIM计算编码器的脉冲总数,并计算脉冲方向

    文章目录 一.前言 二.本次实验的编码器 三.编码器与STM32的连接 四.CubeMX的配置 4.1.RCC 4.2.Clock Configuration 4.3.TIM2 4.4.生成代码 五. ...

  6. 用STM32CubeMX配置输出PWM信号控制多路舵机(HAL)

    1.软件准备 (1)编程平台:Keil5 (2)CubeMX 2.硬件准备 (1)本此使用最小核心板STM32F103C8T6为例 (2)一个舵机:SG90或者MG996等均可 (3)ST-link ...

  7. STM32H743+CubeMX-定时器TIM输出PWM(Out Compare模式) + 中断

    文章目录 一.前言 二.CubeMX 2.1.NVIC Settings 2.2.生成代码 三.代码 3.1.tim.c 四.DEBUG 五.细节补充 一.前言 STM32H743+CubeMX-定时 ...

  8. STM32H743+CubeMX-定时器TIM输出PWM(PWM Generation模式)+ 中断

    文章目录 一.前言 二.CubeMX 2.1.Mode and Parameter Settings 2.2.NVIC Settings 2.3.生成代码 三.代码 3.1.tim.c 3.2.mai ...

  9. STM32H743+CubeMX-定时器TIM输出PWM(PWM Generation模式)

    文章目录 一.前言 二.CubeMX 2.1.Clock Configuration 2.2.TIM8 Mode and Configuration 2.3.Parameter Settings Co ...

最新文章

  1. java入门(p1)进入java的世界
  2. R语言message函数、warning()函数和stop()函数输出程序运行健康状态信息实战
  3. 资深数据产品经理陈家崑:如何从 0 到 1 构建埋点体系
  4. Flink 时间语义与水位线(Watermarks)
  5. Quick BI v3.0版本全新起航——2018杭州云栖大会
  6. js 难点之call,apply实现
  7. 滴滴顺风车回归倒计时!
  8. 后续:为LAMP添加XCache加速
  9. C语言实现—学生成绩管理系统(Linux下运行)
  10. iOS自己定义返回button(不影响返回手势)
  11. sqlserver格式化-年月日
  12. Win10巧用自带输入法轻松打出特殊字符
  13. IE兼容模式文件上传所遇问题解决
  14. APP测试概念/Appium实战
  15. MySQL数据库练习3
  16. 子佩短信管家 v1.0.0
  17. 根据当前行情,计算历史上与当前最相似的行情python实现
  18. 荣耀路由2 虚拟服务器,2019年性价比之王旗舰路由器---荣耀路由PRO2评测
  19. 【PP-18】定义成本核算变式——数量结构控制参数
  20. 费马小定理证明 (copy的,自己捋清楚)

热门文章

  1. python基础:字典的使用
  2. 动态SQL和PL/SQL的EXECUTE选项分析
  3. MySQL自用脚本(不定期更新)
  4. C#获取文件夹及文件的大小与占用空间的方法
  5. 互联网组织的未来:剖析GitHub员工的任性之源
  6. RedHat Linux 启动FTP
  7. 为自己的p2psearcher理想而努力地奋斗
  8. 深圳不完全启示录之初来乍到----1
  9. 飞鸽传书要是懒惰就会长胖
  10. 程序员为什么要少写代码?