STM32F4PWM配置(一)

发布者:SereneHarmony最新更新时间:2022-06-13 来源: eefocus关键字:STM32F4  PWM  配置 手机看文章 扫描二维码
随时随地手机看文章

PWM配置

1.定义结构体

<1.定义GPIO结构体

GPIO_InitTypeDef GPIO_InitStructure;


<2.定义定时器结构体

TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;


< 3.定时器输出比较结构体

TIM_OCInitTypeDef TIM_OCInitStructure;


2.开启时钟总线

<1.定时器时钟使能

RCC_APB1PeriphClockCmd(RCC_APB1Periph_定时器,ENABLE);


<2.GPIO时钟使能

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOX, ENABLE);


3.引脚复用为定时器

GPIO_PinAFConfig(GPIOX,GPIO_PinSource引脚,GPIO_AF_定时器); //GPIOF9复用为定时器


4.配置GPIO为推挽复用输出上拉

1.设置GPIO引脚

GPIO_InitStructure.GPIO_Pin = 引脚


2.设置GPIO模式为复用

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;


3.设置GPIO输出为推挽

GPIIO_InitStructure.GPIO_OType = GPIO_OType_PP;


4.设置GPIO为上拉

GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;


5.初始化GPIO

GPIO_Init(GPIOX,&GPIO_InitStructure);


5.配置定时器

1.配置定时器自动重载值

TIM_TimeBaseStructure.TIM_Period = 自动重载值


2.配置定时器分频

TIM_TimeBaseStructure.TIM_Prescaler = 定时器分频


3.配置定时器计数模式为向上计数

TIM_TIMEBaseStructure.TIM_CounterMode = TIM_CounterMode_Up


4.配置定时器时钟分频模式

TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;


5.初始化定时器

TIM_TimeBaseInit(定时器,&TIM_TimeBaseStructure);


6.配置定时器输出比较

1.选择定时器模式为:TIM脉冲宽度调制

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;


2.比较输出使能

TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;


3.输出极性

TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;


4.初始化

TIM_OC1Init(TIM14, &TIM_OCInitStructure);


5.使能预装载寄存器

TIM_OC1PreloadConfig(TIM14, TIM_OCPreload_Enable);


6.使能ARPE

TIM_ARRPreloadConfig(TIM14,ENABLE);//ARPE使能


7.使能定时器

TIM_Cmd(TIM14, ENABLE);


7.PWM使用

1.修改比较值

TIM_SetCompare1(定时器,比较值);


关键字:STM32F4  PWM  配置 引用地址:STM32F4PWM配置(一)

上一篇:STM32F4 GPIO(二)
下一篇:STM32F4 TIMER定时器配置(一)

推荐阅读最新更新时间:2024-11-13 11:31

STM32F103_TIM3输出PWM波实现全彩呼吸灯
一、LED灯 1. 必须是全彩RGB_LED灯 2. 通过不同的红绿蓝三色LED混合出256种颜色,同电脑画图里的调色RGB888,每个灯各用8位控制其亮度,其中全灭表示黑色。 二、 1. LED亮度等级表 /* LED亮度等级 PWM表,指数曲线 ,此表使用工程目录下的python脚本index_wave.py生成*/ const uint16_t indexWave = { 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 11, 12
[单片机]
Allegro MicroSystems, LLC发布全新四路DMOS全桥PWM电机驱动器IC
Allegro MicroSystems,LLC发布一款全新的四路DMOS全桥驱动器IC A5990,它可驱动两个步进电机或四个直流电机,每个全桥的额定输出高达1.6A和40V。Allegro的A5990集成有固定的关断时间脉宽调制(PWM)电流稳压器和2位非线性数模转换器(DAC),从而能够以整步进、半步进和四分之一步进行步进电机的控制,或者以向前、反转和滑行模式控制直流电机。下面就随工业控制小编一起来了解一下相关内容吧。 对于每个全桥,可以通过独立的电流控制参考电压输入实现高分辨率微步进控制。A5990 PWM电流稳压器具有外部可调节的关断时间,可根据电源电压和电机参数调整电流控制(每个桥对可独立调节)。A5990还具有自适
[工业控制]
STM32的TIM1互补PWM输出
芯片为STM32F412VETx,使用的是高级定时器TIM1的PWM互补PWM输出,看一下STM32CubeMX配置, 再看时钟的配置,TIM1用的是APB2的时钟,。 再看引脚的配置 产生的PWM频率为:Fpwm = 96MHz / ((95+1)(9999+1)) =100Hz,占空比为50% 然后生成代码,看下代码中的FMX_TIM1_Init函数初始化 /* TIM1 init function */ static void FMX_TIM1_Init(void) { TIM_ClockConfigTypeDef sClockSourceConfig; TIM_MasterConfigType
[单片机]
STM32的TIM1互补<font color='red'>PWM</font>输出
STM32F429HAL库UART学习笔记
UART串口通讯作为最基本通讯协议我就不多赘述。我主要用HAL库实现串口通讯,看一下配置Uart的结构一变量 这里使用了结构体嵌套 typedef struct { USART_TypeDef *Instance; 串口类型和串口内部控制寄存器结构体 UART_InitTypeDef Init; 定义串口输出数据类型停止位奇偶校验位的结构体 uint8_t *pTxBuffPtr; 要发送的数据的缓冲数组指针 uint16_t TxXferSize; 要发送数组大小 uint16_t TxX
[单片机]
OPPO Find 9手机配置再曝 支持VOOC超级闪充
    昨日下午,最新拍照手机刚刚推出了将于5月20日天猫独家限量首发的、售价2799元的OPPO R9 TFBOYS定制手机——TFphone。现在,另一款高端旗舰机型Find 7系列继承者——OPPO Find 9的配置信息再次被曝光。   据微博网友@t4teja爆料称,OPPO Find 9将搭载“15分钟充满2500mAh”的第二代VOOC超级闪充技术,而且基于传感器芯片防抖的SmartSensor图像防抖技术也将有望亮相。 OPPO Find 9手机配置再曝 支持VOOC超级闪充   外观上,OPPO Find 9全新旗舰将继续沿用此前Find 7系列的外观设计,但底部会采用非常狭长的指纹识别按键。   据称
[手机便携]
pwm信号通过pc817b光耦出现失真的讨论
好的,现在我们讨论pwm波形通过pc817b光耦出现失真的问题。 如下图: 经过光耦后失真的电路图 经过光耦后失真的波形图 好了,以上是问题的提出,现在我们开始讨论和教你分析思路。 第一步:看一下PC817B的数据手册,看频率PWM频率是不是超标了。 第二步:如上波形图,是在20K的时候,频率响应图中,电压增益明显减小,所以你也可以验证一下,减小频率试试看。 第三步:20khz想要基本不失真,可以换个1M的光耦吧。 第四步:请注意电流传输系数CTR的最小值。你可以计算一下输入的电流是Iin,输出最大能提供的电流Iout = Iin * CTR。根据以上计算,你的电路并不能驱动12V/800欧的电路你把R14换成200欧,再试试
[模拟电子]
<font color='red'>pwm</font>信号通过pc817b光耦出现失真的讨论
STM32F407ZGT6芯片时钟系统模块介绍
STM32F4时钟系统的知识在《STM32F4中文参考手册》第六章复位和时钟控制章节有非常详细的讲解,网上关于时钟系统的讲解也有很多,讲不出啥特色,时钟模块是芯片非常重要的组成部分,我们必然要提到时钟系统的知识。这些知识也不是什么原创,纯粹根据官方提供的中文参考手册和自己的应用心得来总结的,如有不合理之处望大家谅解。 STM32F4时钟树概述 众所周知,时钟系统是CPU的脉搏,就像人的心跳一样。所以时钟系统的重要性就不言而喻了。STM32F4的时钟系统比较复杂,不像简单的51单片机一个系统时钟就可以解决一切。于是有人要问,采用一个系统时钟不是很简单吗?为什么STM32要有多个时钟源呢?因为首先STM32本身非常复杂,外设非常的
[单片机]
<font color='red'>STM32F4</font>07ZGT6芯片时钟系统模块介绍
三星曝光两款中端机 配置挺有吸引力
最近有外媒透露了有关三星J7(2017)和J5(2017)的一些配置消息。根据报道,这两款手机都配备了1300万像素的前置镜头、全金属机身和指纹识别。 三星曝光两款中端机(图片来源gsmarena) 三星曝光两款中端机(图片来源gsmarena)   三星J7(2017)将拥有全高清的屏幕分辨率、3GB RAM和3600毫安时的电池容量,数据连通性包括了LTE Cat.6、VoLTE和VoWiFi。而三星J5(2017)内置八核处理器,同样支持LTE Cat.6、VoLTE和VoWiFi。   两款手机据称都预装了Android 7.0系统,售价方面,三星J7(2017)定价339欧元(约合人民币2589元),三星J5(201
[手机便携]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved