历史上的今天

今天是:2024年09月10日(星期二)

正在发生

2018年09月10日 | STM32L151 PWM输出示例

发布者:SparklingMoon 来源: eefocus关键字:STM32L151  PWM输出 手机看文章 扫描二维码
随时随地手机看文章

最近做个项目,需要用PWM控制4线风扇的速度,调试完后顺便将其记录下来.



typedef struct {

u16 pwm_change_flag;

u16 pwm_value;

}Pwm_Fan_t;

 

 

Pwm_Fan_t Pwm_Fan;

 

void Pwm_Param_Init(void)

{

Pwm_Fan.pwm_change_flag=0;

Pwm_Fan.pwm_value=80;

}

 

 

//PD14->TIM4_CH3

void PWM_GPIO_Config(void)  

  GPIO_InitTypeDef GPIO_InitStructure; 

 

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOD, ENABLE);

 

  GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_14; 

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;           // 复用推挽输出 

GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;

GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;

  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz; 

  GPIO_Init(GPIOD, &GPIO_InitStructure); 

}

 

 

/**************************************************************** 

2017年8月14日14:37:57:cpu的风扇是使用25Khz pwm来调制的

 ***************************************************************/  

void TIM4_Config(u16 pwm)

{  

TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;  

TIM_OCInitTypeDef  TIM_OCInitStructure;  

/* PWM信号电平跳变值 */     

u16 CCR3;  

 

if(pwm>160-1)

pwm=160-1;

CCR3=pwm;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);  

GPIO_PinAFConfig(GPIOD, GPIO_PinSource14, GPIO_AF_TIM4); //对于L系列的,这句千万别漏掉了

TIM_Cmd(TIM4, DISABLE);                          

/* Time base configuration */                                            

TIM_TimeBaseStructure.TIM_Period =160 - 1;//0xEA5F;  

TIM_TimeBaseStructure.TIM_Prescaler = 8-1;                                  //设置预分频:预分频=2,即为72/3=24MHz  

TIM_TimeBaseStructure.TIM_ClockDivision = 0;                                //设置时钟分频系数:不分频  

TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;                 //向上计数溢出模式  

TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);  

 

/* PWM1 Mode configuration: Channel3 */  

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;                           //配置为PWM模式1  

TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;                

TIM_OCInitStructure.TIM_Pulse = CCR3;                                       //设置跳变值,当计数器计数到这个值时,电平发生跳变  

TIM_OCInitStructure.TIM_OCPolarity =TIM_OCPolarity_Low;                     //当定时器计数值小于CCR1时为低电平  

TIM_OC3Init(TIM4, &TIM_OCInitStructure);                                    //使能通道3     

TIM_OC3PreloadConfig(TIM4, TIM_OCPreload_Enable);  

TIM_ARRPreloadConfig(TIM4, ENABLE);                                         //使能TIM4重载寄存器ARR  

/* TIM4 enable counter */  

TIM_Cmd(TIM4, ENABLE);                                                      //使能TIM4   


关键字:STM32L151  PWM输出 引用地址:STM32L151 PWM输出示例

上一篇:STM32l151低功耗芯片串口通信
下一篇:STM32L0低功耗设计4: RTC模块1秒时钟的产生方法

推荐阅读

每年,这里:生产超过25亿件元件,出货15,600吨原材料和产品……消耗4,500吨陶瓷材料,生产4,500吨金属化薄膜……拥有4,000余套设备,74套机器人,300余家合作供应商……员工消耗掉20万公斤大米…………这组有趣的数字来自于爱普科斯电子元器件(珠海保税区)有限公司(TDK珠海保税区工厂)总裁及首席执行官兼TDK压敏电阻事业部负责人安柯南的描述。近日,...
目的:用汇编语言编写一个点亮LED的程序,用于验证前面章节中,下载.bin文件到芯片后,程序能否运行。要求:1.芯片手册2.开发板上有LED模块实验步骤:1.新建文件夹led_proj,复制bootloader_proj(参照本系列第3篇文章)文件夹中的所有文件到led_proj文件夹。2.新建文件led.s,编写代码。代码内容主要是使能GPIO口的时钟,配置GPIO口,向GPIO口的输出数据寄...
9月9日-11日,2020 CIOE中国光博会在深圳举办,本届展会上,激光雷达芯片和模组厂商洛微科技(LuminWave)展示了国内首款基于硅光OPA的200线纯固态成像级激光雷达(LiDAR)。 据了解,洛微科技早在今年1月的CES展上就推出了世界上尺寸最小的基于自研光芯片技术的MicroLiDAR传感器芯片,主要用于自动驾驶近距补盲和手势识别。此次洛微科技展示的激光雷达原...
  音叉液位开关对于仪表圈人来讲并不陌生,它是在工业现场应用非常广泛的测量液体介质的开关类仪表。说到音叉,其实音叉最早用在钢琴调律和鉴别耳聋性质等方面,是一种呈“Y”型的钢质或铝合金发声器,各种音叉可因其质量和叉臂长短、粗细不同而在振动时发出不同频率的纯音。而工控领域就借助音叉的高度对称性以及振动特性制造出能测量液体的开关类仪表...

史海拾趣

问答坊 | AI 解惑

ispLSI1016

会用的,知道的,帮下,编程,用ABEL或者VHDL,作用是,一个可以加减的十进制计数器,一个输出是用BDC-二进制输出给D/A转换器,另外一个是输出用BCD7段译码输出给数码管,知道的给段程序啊…

查看全部问答∨

ADC/DAC专题学习之七——DAC动态性能

对DAC可能最重要的交流指标是建立时间、毛刺脉冲、失真和无杂波动态范围(SFDR)。 如图2-38所示,DAC的建立时间是从数字代码发生变化到输出落在并保持某些误差带之内需要的时间。对于放大器来说,就很难对建立时间进行比较,这是因为他们的误差带可 ...…

查看全部问答∨

看看变压器次级的信号时怎样流的

[qq]334388457[/qq]这是一个信号变换的最后级,输入为一个方波,频率范围是100HZ到100K,经过变压器后,最后的输出方波频率不变,只是下降沿有一个拖尾。Q2集电极接的可调直流电压可以控制信号输出幅度的大小。小弟不明白的是,变压器有隔离的作用 ...…

查看全部问答∨

求下面几个型号的资料 3M35-OR-ND 517-351/2GN 3M35-YL-ND

求下面几个型号的资料  3M35-OR-ND 517-351/2GN  3M35-YL-ND…

查看全部问答∨

各位大侠。。本人是新手求助一个关于温室大棚湿度温度测控系统设计

基于单片机的温室大棚温湿度测控系统设计 使用51系列单片机STC89S51与智能温度传感器芯片DS18B20(查一下大棚温度)、湿度传感器(查一下型号,注意大棚湿度范围)液晶模块1602(可用别的型号)及外围电路等完成设计与实现; 功能是实时采集温度、 ...…

查看全部问答∨

工程师应该掌握的20个模拟电路

工程师应该掌握的20个模拟电路…

查看全部问答∨

试了网上的呼吸灯程序发现了一点问题

http://v.youku.com/v_show/id_XNDI5ODU5NTYw.html 上面是我使用网上呼吸灯程序在示波器上P1.6口的波形 使用的TimerA的PWM输出 理想情况是占空比平滑的递增递减循环下去 但是正如视频中那样,有一点跳动,而且跳动的幅度或是跳动过去的周期数和 ...…

查看全部问答∨

请问IO口驱动段码液晶方式中公共端电阻可为多大?

如图,几个电阻可是关系到功耗,那么阻值是否可以再大呢?最大可以到多大? …

查看全部问答∨

技术研发人才最紧俏

苏报讯(记者 袁艺 通讯员 钟静)昨天下午,苏州大学独墅湖校区的招生就业活动大厅内人头攒动,2014届毕业生大型校园招聘活动正在火热进行,这也是苏城今秋第一场规模较大的针对应届生的校园招聘会。记者在现场发现,招聘单位此次“端出”的岗位 ...…

查看全部问答∨

新画了一个板子, 仅供参考

4mil线宽和线距, 0.35mm pad, 8mil via. …

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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