一、脉宽调制信号的理解

脉宽调制信号其实就是在一个周期内,控制高低电平的时间,来控制占空比(比如一个周期是1秒,有0.5秒的高电平,这样就是输出了一个方波即为占空比为50%)PWM的实现其实也就是定时器的运用。

二、开发流程

1.利用库函数来配置好PWM的功能

利用官方提供的TIM_OCInit();进行初始化,

void TIM2_PWM_Configuration(void)
{GPIO_InitTypeDef GPIO_InitStructure;TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;TIM_OCInitTypeDef TIM_OCInitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_Init(GPIOA, &GPIO_InitStructure);TIM_TimeBaseStructure.TIM_Period = 19999;  //这里就是周期的时间也会默认+1TIM_TimeBaseStructure.TIM_Prescaler = 71;  //71+1= 72分频        //也可以数值别的,但是要自己算//TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;                        //这里不设置也是关于时钟的TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //向上计数模式 pwm也是定时器的一种 所以也得按基本定时器来初始化一遍TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;                          //PWM模式TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;           //这个就是初始开始是高还是低TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;   TIM_OC2Init(TIM2, & TIM_OCInitStructure);TIM_Cmd(TIM2, ENABLE);
}

2.通过函数来改变PWM的数值

     for(i = 0; i < 20000; i++){TIM_SetCompare2(TIM2, i);    //这里i数值不能超过周期Delay_us(50);                //我这里就是循环了一次 相当于高电平从1us到满周期}

三、像舵机这种也可以通过产生脉宽调制信号来控制舵机的旋转角度

具体不展开说,就是设置一定的周期,控制占空比就能控制舵机角度。

STM32----PWM脉宽调制信号的输出相关推荐

  1. PWM脉宽调制信号转直流电压电流模拟信号输出隔离变送器5v10v4-20ma

    PWM脉宽调制信号输入模拟信号输出隔离变送器 主要特性: >>精度等级:0.2级.0.5级.产品出厂前已检验校正,用户可以直接使用 >>辅助电源:5V/12V/15V/24VD ...

  2. PWM脉宽调制信号转模拟电流电压4-20ma0-5v10v隔离变送器

    主要特性: 精度等级:0.2级.0.5级.产品出厂前已检验校正,用户可以直接使用 辅助电源:5V/12V/15V/24VDC(范围±10%) PWM脉宽调制信号输入: 50Hz~100KHz 输出标准 ...

  3. [蓝桥杯单片机]学习笔记——PWM脉宽调制信号的发生与控制

    一.原理部分 1.脉宽调制(PWM)基本原理 控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等但宽度不一致的脉冲,用这些脉冲来代替正弦波或所需要的波形.也就是在输出波形的半个周 ...

  4. 11.[STM32]PWM脉宽调制-呼吸灯

    文章目录 1. PWM简介 2. PWM配置 2.1捕获/比较模式寄存器 2.2 捕获/比较使能寄存器 2.3 捕获/比较寄存器 2.3 PWM配置 2.4 主函数配置 3.结语

  5. 12.[STM32]PWM脉宽调制-舵机控制(一篇足以)

    文章目录 1. 舵机简介 1.1 舵机控制 2. 占空比调节函数 3.结语 附录:全部程序

  6. 基于STM32的MDK软件仿真输出PWM波形

    文章目录 一.PWM相关 1.PWM是什么 2.PWM原理 3.PWM应用 4.PWM信号输出 二.实验相关 1.实验要求 2.实验过程 (1)实验代码 (2)Keil仿真设置 (3)实验结果 三.总 ...

  7. stm32 PWM互补输出

    stm32高级定时器例子-stm32 PWM互补输出 定时器初始化结构体 TIM_TimeBaseInitTypeDef 时基结构体,用于定时器基础参数设置,与TIM_TimeBaseInit函数配合 ...

  8. STM32 PWM输出实验总结

    本实验是基于STM32 407的板子,使用的是通用定时器TIM14,相关的博文其实有很多,本文主要是基于他们结合个人学习理解总结整理,并非完全原创,只希望能帮助更好理解PWM输出的过程尤其是TIM_A ...

  9. STM32 PWM输出实验

    定时器用来产生PWM输出: STM32 的定时器除了 TIM6 和 7.其他的定时器都可以用来产生 PWM 输出.其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出.而通 ...

  10. STM32 PWM输出之TIM_SetCompare函数的应用

    STM32 PWM输出之TIM_SetCompare函数的应用 想必输出PWM大家都应该会了吧,但是如何更加灵活方便的使用PWM,可能大家还存在着问题,今天我给大家介绍一下TIM_SetCompare ...

最新文章

  1. Pytorch:使用DCGAN实现数据复制
  2. 面试中经常出现的算法2(整理)
  3. 详解Vuex常见问题、深入理解Vuex
  4. c++中怎么数组内有用元素的个数_前端面试(算法篇) - 数组乱序
  5. 13 FI配置-财务会计-输入全局参数
  6. 机器学习中的数学(四)--线性代数
  7. Linux内存管理:ARM64体系结构与编程之cache(3):cache一致性协议(MESI、MOESI)、cache伪共享
  8. 4、HTML 超链接
  9. Node.js 应该用在什么地方
  10. mysql relay log参数汇总
  11. XAMPP端口更改后 httpd-vhosts.conf 文件配置
  12. 各种软件webhook机器人
  13. VB 注册ocx控件的方法
  14. mysql blast2go,blast2go
  15. 计算机应用后期影音制作,WindowsLive影音制作分步说明.docx
  16. 4484: [Jsoi2015]最小表示(拓扑序+bitset维护连通性)
  17. 【蓝桥单片机】51单片机(stc15f)的两个寄存器TCON和TMOD
  18. mysql 1593_MySQL数据库经典错误三 Last_IO_Errno: 1593(server-id冲突)
  19. JAVA —— 比较日期时间大小
  20. 06 MySQL数据库--查询语句学习笔记

热门文章

  1. Web页面的常见字体有哪些
  2. 联想计算机usb启动怎么办,联想电脑没有u盘启动该如何解决?解决联想电脑没有u盘启动的方法...
  3. 解决一例:“无法删除文件,无法读源文件或磁盘”
  4. python网课培训班学费一般多少
  5. 【Java项目】社区论坛项目
  6. 选择合适的电阻型分压器
  7. 小白学习 指针,指针变量,指针变量大小
  8. CocosCreator矢量绘图组件(2)
  9. 攻防世界逆向-logmein
  10. 计算机相关国外期刊,计算机 国外期刊