上一章我们讲解了定时器的基本应用,以及定时器中断。这一章我们讲解通过定时器控制管脚输出PWM信号,控制LED实现呼吸灯。
1. PWM简介
脉冲宽度调制(PWM),是英文“ Pulse Width Modulation” 的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制, PWM 原理如图所示:
上图就是一个简单的 PWM 原理示意图。图中,我们假定定时器工作在向上计数 PWM模式,且当 CNT 2. stm32cube配置和说明 打开STM32CubeMX新建工程,选择STM32F103ZET6芯片,选择外部高速晶振(HSE)。LED1管脚PB6配置为定时器4的通道1输出。同时TIM4的通道1配置为PWM。 脉冲宽度调制模式可以生成一个信号,该信号频率由自动重载寄存器(TIMx_ARR)寄存器值决定,其占空比则由捕获/比较寄存器(TIMx_CCRx) 寄存器值决定。在 PWM 模式下,计数器寄存器(TIMx_CNT )总是与捕获/比较寄存器(TIMx_CCRx )进行比较。 下图为PWM边沿对齐模式(递增计数配置)。图中CCRx为捕获/比较寄存器,OCxREF为输出比较信号,CCxIF为中断状态标识位。 当CCRX=4时,当捕获/比较寄存器(TIMx_CCRx)比计数器小时,输出高电平,反之则输出低电平。 下图为PWM中心对齐模式。 这里设置PWM周期为20ms,其他参数为默认不用修改。其中Pulse的为设置脉宽,即为捕获/比较寄存器(TIMx_CCRx)。通过修改它的值可以修改占空比。 生成报告,以及生成代码,编译程序。 3.添加应用程序 在tim.c文件中我们找到刚才的定时器初始化函数。 刚才说到的,设置Pulse的值可以修改脉宽。这里我们在main.c文件中添加一个用户PWM设置函数,函数的参数为修改的值。 在把main()函数中添加HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_1)开启定时器PWM输出。在while循环中不断修改脉宽,实现LED亮度渐变。Pulse的值最大为2000,从0开始,每100ms增加100,当增加到2000时,又逐渐递减到0。 在main.c函数前面声明pwm_value,step变量,User_PWM_Setvalue ()函数.编译程序下载(我这里LED等接在PB5,所以用杜邦线连接到PB6)。可以看到LED亮度循环逐渐变亮再变暗。 补充:TIM-PWM重映射配置,这里以TIM3_CH2部分映射为例,其他一样 其他配置跟上面一样,配置对应输入引脚就可以。
上一篇:STM32HAL库学习(二)CubeMx按键
下一篇:stm32GUI滑杆图形操作界面
推荐阅读
史海拾趣
随着电子行业的快速发展,市场对CMOS图像传感器的需求日益增长。飞虹高科公司意识到,要想在市场中保持领先地位,必须不断进行技术创新。因此,公司加大了研发投入,引进了一批高端研发设备,并与国内外知名高校和研究机构建立了紧密的合作关系。经过数年的努力,公司成功开发出了多款具有自主知识产权的CMOS图像传感器产品,其中一款产品以其高灵敏度、低功耗和低噪声等优异性能,赢得了客户的广泛赞誉。
在成立初期,ELPIDA凭借其强大的技术实力和规模效应,迅速在全球DRAM市场中占据了重要地位。公司不断推出创新产品,扩大市场份额,成为行业内的重要参与者。然而,随着市场竞争的加剧和技术的快速变化,ELPIDA也面临着巨大的挑战。
Doodle Labs公司成立于2010年代初,由一群热衷于无线通信和物联网技术的工程师创立。在成立之初,公司就明确了自己的定位:专注于开发高性能、智能化的无线电技术产品,以满足日益增长的无人机和物联网设备的需求。通过不断的技术研发和创新,Doodle Labs成功推出了其首款智能无线电产品,为无人机提供了稳定、高效的通信解决方案。
EMC Technology RF Labs成立于XXXX年,作为EMC Technology公司的一个专门研究射频(RF)技术的实验室。创立之初,RF Labs的目标是为电子通信行业提供高质量的射频元件和解决方案。公司聚集了一批在射频技术领域具有丰富经验和专业知识的工程师,开始了对射频技术的深入研究和探索。
DB Unlimited始终将技术创新作为公司发展的核心驱动力。公司不断投入大量资源进行技术研发和创新,推出了多项具有行业领先水平的音频技术。这些技术的推出不仅提升了公司的竞争力,也推动了整个音频行业的发展。DB Unlimited的技术创新能力和成果得到了业界的广泛认可。
DB Unlimited始终将技术创新作为公司发展的核心驱动力。公司不断投入大量资源进行技术研发和创新,推出了多项具有行业领先水平的音频技术。这些技术的推出不仅提升了公司的竞争力,也推动了整个音频行业的发展。DB Unlimited的技术创新能力和成果得到了业界的广泛认可。
随着汽车工业与电子工业的不断发展,在现代汽车上,电子技术的应用越来越广泛。今天的汽车已经逐步进入了电脑控制的时代。国外专家预测未来3-5年内汽车上装用的电子装置成本将占汽车整车成本的25%以上,汽车将由单纯的机械产品向高级的机电一体化产 ...… 查看全部问答∨ |
|
小妹正在做一个课程设计,要在Mobile 5.0下开发CAMERA程序,目前能用DIRECTSHOW打开摄像头并能预览图像。但有两个问题不知道如何解决:第一不知道如何获取某一帧图像数据。第二就是预览的画面很不清楚。因为Moblie SDK中的SHCameraCap ...… 查看全部问答∨ |
我用单片机移植UCOS-II创建了信号量后,不使用OSTaskQuery的时候OSSemPend和OSSemPost都可以正常调用,返回值都是OS_NO_ERR 杂个用了OSTaskQuery后OSSemPend和OSSemPost就不动了,返回值为OS_ERR_EVENT_TYPE 搞不懂啊,谁知道哦,帮帮忙 啊… 查看全部问答∨ |
PXA270核心板方案: CPU:PXA270 SDRAM:128M FLASH:32M 接口:USB、SDCARD、SERIAL等 LCD+TOUCH:3.5‘ 支持WIFI 方案可提供:SCH + PCB + BOOM + WINCE5 ...… 查看全部问答∨ |
|
新做的STM32开发板/USB数据采集板,3.0寸触摸屏,支持LabVIEW多通道示波器 新做的STM32F103ZET6开发板/USB数据采集板,支持LabVIEW多通道数据采集示波器,适合51向STM32转换。硬件资源: ■ 处理器:STM32F103ZET6,主频:72MHz ■ 3种供电方式:USB连接线、外接9V-12V电源、JTAG 调试接口(J-LINK仿真器) ■ ...… 查看全部问答∨ |
给大家分享一个我自己收藏的51单片机学习资料:郭天祥的十天学会单片机视频教程视频资料总共有好几个G,在我的QQ文件中转站里,想要的请留QQ顶贴我给你们发过去 不顶贴也没关系 这是我QQ:936445972,加QQ时请注明是求 ...… 查看全部问答∨ |