历史上的今天
返回首页

历史上的今天

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

正在发生

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

2018-09-10 来源:eefocus

最近做个项目,需要用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   


推荐阅读

史海拾趣

CommScope Inc公司的发展小趣事

CommScope Inc公司的前身可以追溯到1953年,在北卡罗莱纳州的山核桃成立的高级电缆公司。这个公司以其卓越的电话线产品赢得了市场的认可。到了1964年,康普的产品线开始使用高级电缆和同轴电缆,标志着公司在电缆技术领域的突破。随着技术的不断革新,1966年,康普在卡托巴县的福特社区开始数控制造,进一步提升了生产效率。1976年,大陆高级康普部门被Frank Drendel领导的投资者集团收购,这为公司日后的发展奠定了坚实的基础。

ARBOR公司的发展小趣事

ARBOR公司一直致力于电子技术的研发与创新。在某个时期,公司研发团队成功开发出一款具有颠覆性的电路板技术,这项技术在信号传输速度和稳定性上实现了重大突破。凭借这一技术,ARBOR公司迅速占领了高端电子市场,成为行业内的技术领导者。公司股价随之飙升,吸引了大量投资者的关注。

复旦微电子(FM)公司的发展小趣事

随着环保意识的日益增强,ARBOR公司积极响应国家号召,致力于绿色电子产品的研发和生产。公司投入大量资金研发环保材料和技术,成功推出了一系列绿色电子产品。这些产品不仅具有优异的性能,还符合环保标准,得到了消费者的广泛认可。ARBOR公司的绿色环保理念也为整个电子行业树立了榜样。

上海超致公司的发展小趣事

随着技术的不断积累和创新,上海超致在功率半导体领域取得了重大突破。公司成功推出了全球首款量产SJ-IGBT产品,这一产品具有电流密度大、综合器件性能优的特点,在硅基成本下实现了性能的显著提升。此外,上海超致还不断拓宽产品线,产品广泛应用于太阳能微逆变器、车载OBC、充电桩、UPS电源等多个领域。这些产品的推出不仅满足了市场的需求,也进一步提升了公司的市场竞争力。

EG & G Inc公司的发展小趣事

随着市场竞争的加剧,EG & G Inc公司意识到通过并购和整合来提升自身竞争力的重要性。公司先后收购了多家具有技术优势和市场潜力的企业,将其纳入自己的业务体系。这些并购不仅增强了公司的技术实力和市场地位,也为其未来的发展奠定了坚实的基础。

长园维安(CYGWAYON)公司的发展小趣事

长园维安自成立以来,始终坚持技术创新为核心竞争力。在早期发展阶段,公司投入大量资源研发新型线路保护元器件,如PPTC、CPTC等。这些产品凭借其卓越的性能和稳定性,迅速在通讯、汽车电子等领域获得广泛应用。通过不断创新,长园维安在电子行业树立了技术领先的形象。

问答坊 | AI 解惑

51单片机按键的相关应用

51单片机按键的相关应用…

查看全部问答>

电子技术课程设计题目:秒表(要求:能精确显示0.01秒的变化;能同时对3个不同事件进行计时:比如长跑前三名)

电子技术课程设计题目:秒表(要求:能精确显示0.01秒的变化;能同时对3个不同事件进行计时:比如长跑前三名) …

查看全部问答>

求助:倒车防撞报警系统的仿真?

毕业论文(基于AT89C51的倒车防撞报警系统设计)需要仿真,不知道要从哪里入手?…

查看全部问答>

【转帖】贴片元器件焊接教程(图解版)

在别的网站上看到的一个不错的教程,关于贴片元器件焊接的,上传上来给需要的人看看。 特别感谢原作者!…

查看全部问答>

香帮主,暑假到了,办个STM32F--USB培训班嘛!

感觉USB,可深可浅. 浅的 不管三七二十一拿例子程序来仿,可能凑巧凑合着也能用. 深的,深不可测 香帮主能不能出点力,帮小白们普及点USB应用知识啊? 在上海或者南京什么地方办个班吧,2~5天时间,收费300~1000元…

查看全部问答>

初学者求助,三星K9F4G08U0A刷写程序问题

请教各位电子技术方面的前辈:本人是维修初学者,最近在给SAMSUNG K9F4G08U0A芯片写入原程序后,再读出写入后的程序发现写入后的程序与原程序大总份地方都不正确,编程器根本就没有办法检验,不知道是怎么回事?请各位前辈多多指教,因本人刚开始学 ...…

查看全部问答>

怎样让应用程序支持中文

我公司有个触摸屏是用wince英文系统的,我们电脑和触摸屏的故障信息是同步的,但是电脑改成中文故障信息后,触摸屏不能显示出中文故障,只显示乱码。 我应该怎么弄才能显示出来啊。…

查看全部问答>

用MSP430做485通信,但PC收到的数据不对

使用MAX485(单独USB供电)转换电平和485转USB,串口助手收发数据 逻辑是:PC通过串口助手发送数据给单片机使之进入中断后单片机将数据发送给PC。实验现象是:1:单片机通过485直接发送数据(不用中断),接收正确。2:使用串口中断后,在串口助手中 ...…

查看全部问答>