STM32----PWM脉宽调制信号的输出
一、脉宽调制信号的理解
脉宽调制信号其实就是在一个周期内,控制高低电平的时间,来控制占空比(比如一个周期是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脉宽调制信号的输出相关推荐
- PWM脉宽调制信号转直流电压电流模拟信号输出隔离变送器5v10v4-20ma
PWM脉宽调制信号输入模拟信号输出隔离变送器 主要特性: >>精度等级:0.2级.0.5级.产品出厂前已检验校正,用户可以直接使用 >>辅助电源:5V/12V/15V/24VD ...
- PWM脉宽调制信号转模拟电流电压4-20ma0-5v10v隔离变送器
主要特性: 精度等级:0.2级.0.5级.产品出厂前已检验校正,用户可以直接使用 辅助电源:5V/12V/15V/24VDC(范围±10%) PWM脉宽调制信号输入: 50Hz~100KHz 输出标准 ...
- [蓝桥杯单片机]学习笔记——PWM脉宽调制信号的发生与控制
一.原理部分 1.脉宽调制(PWM)基本原理 控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等但宽度不一致的脉冲,用这些脉冲来代替正弦波或所需要的波形.也就是在输出波形的半个周 ...
- 11.[STM32]PWM脉宽调制-呼吸灯
文章目录 1. PWM简介 2. PWM配置 2.1捕获/比较模式寄存器 2.2 捕获/比较使能寄存器 2.3 捕获/比较寄存器 2.3 PWM配置 2.4 主函数配置 3.结语
- 12.[STM32]PWM脉宽调制-舵机控制(一篇足以)
文章目录 1. 舵机简介 1.1 舵机控制 2. 占空比调节函数 3.结语 附录:全部程序
- 基于STM32的MDK软件仿真输出PWM波形
文章目录 一.PWM相关 1.PWM是什么 2.PWM原理 3.PWM应用 4.PWM信号输出 二.实验相关 1.实验要求 2.实验过程 (1)实验代码 (2)Keil仿真设置 (3)实验结果 三.总 ...
- stm32 PWM互补输出
stm32高级定时器例子-stm32 PWM互补输出 定时器初始化结构体 TIM_TimeBaseInitTypeDef 时基结构体,用于定时器基础参数设置,与TIM_TimeBaseInit函数配合 ...
- STM32 PWM输出实验总结
本实验是基于STM32 407的板子,使用的是通用定时器TIM14,相关的博文其实有很多,本文主要是基于他们结合个人学习理解总结整理,并非完全原创,只希望能帮助更好理解PWM输出的过程尤其是TIM_A ...
- STM32 PWM输出实验
定时器用来产生PWM输出: STM32 的定时器除了 TIM6 和 7.其他的定时器都可以用来产生 PWM 输出.其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出.而通 ...
- STM32 PWM输出之TIM_SetCompare函数的应用
STM32 PWM输出之TIM_SetCompare函数的应用 想必输出PWM大家都应该会了吧,但是如何更加灵活方便的使用PWM,可能大家还存在着问题,今天我给大家介绍一下TIM_SetCompare ...
最新文章
- Pytorch:使用DCGAN实现数据复制
- 面试中经常出现的算法2(整理)
- 详解Vuex常见问题、深入理解Vuex
- c++中怎么数组内有用元素的个数_前端面试(算法篇) - 数组乱序
- 13 FI配置-财务会计-输入全局参数
- 机器学习中的数学(四)--线性代数
- Linux内存管理:ARM64体系结构与编程之cache(3):cache一致性协议(MESI、MOESI)、cache伪共享
- 4、HTML 超链接
- Node.js 应该用在什么地方
- mysql relay log参数汇总
- XAMPP端口更改后 httpd-vhosts.conf 文件配置
- 各种软件webhook机器人
- VB 注册ocx控件的方法
- mysql blast2go,blast2go
- 计算机应用后期影音制作,WindowsLive影音制作分步说明.docx
- 4484: [Jsoi2015]最小表示(拓扑序+bitset维护连通性)
- 【蓝桥单片机】51单片机(stc15f)的两个寄存器TCON和TMOD
- mysql 1593_MySQL数据库经典错误三 Last_IO_Errno: 1593(server-id冲突)
- JAVA —— 比较日期时间大小
- 06 MySQL数据库--查询语句学习笔记