你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【Nucleo-F303RE开发】也来个呼吸灯程序

[复制链接]
lkl0305 提问时间:2015-6-14 22:39 /
本帖最后由 lkl0305 于 2015-6-20 11:46 编辑

收到Nucleo-F303RE,学习CUBE库。
定时器中呼吸灯应该是比较经典的程序了。下面给大家分享一下。
我想使用定时器输出PWM控制板子上的LED实现,查了一下资料,发现正好TIM2的Ch1通道是链接到了Pa5,刚刚好。
于是在Cube中建立工程,进行TIM2配置,
(1)如图,选择Tim2:
701.jpg
(2)接下来参数设置,设置100us定时器基础时间,Ch1位PWM输出。
702.jpg
(3)设置开起定时器中断:
704.jpg
(4)设置PA5输出,TIM2——CH1通道
703.jpg
(5)在主程序中可以看到自动生成的TIM2的配置函数:
705.jpg
(6)中断程序中可以看到,定时器中断时自动调用HAL_TIM_IRQHandler(&htim2);
706.jpg
(7)为了记录定时器时基中断,定义变量TIM2_PeriodElapsed来表示状态,0没有中断,1中断。
定义TIM2_Channl1_Pulse存储通道1的比较值。
709.jpg
(8)在定时器中断的回调函数中置TIM2_PeriodElapsed为1
707.jpg
(9)下面主函数中添加自己的代码:
启动定时器通道1的PWM方式:  HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1);
  以中断方式启动基础定时器: HAL_TIM_Base_Start_IT(&htim2);
下面循环中修改TIM2的比较寄存器的值来调整PWM输出脉冲宽度:TIM2->CCR1 = TIM2_Channl1_Pulse;这个在库中找不到对应的函数,不知道大家是怎么处理的?希望大家来交流一下!!!
708.jpg

最后编译下载就可以看到预期的效果,LED灯逐渐亮起来,然后循环。演示效果就不上了大家自行下载演示
下面上程序:
LED_PWM.rar (6.95 MB, 下载次数: 128)
收藏 3 评论11 发布时间:2015-6-14 22:39

举报

11个回答
Paderboy 回答时间:2015-6-15 00:10:07
本帖最后由 Paderboy 于 2015-6-15 00:19 编辑

多谢分享。。支持
TIM2->CCR1 = TIM2_Channl1_Pulse;
在HAL库里用:
__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1, TIM2_Channl1_Pulse);

mark0668 回答时间:2015-6-15 01:05:58
多谢分享。
为什么是EEFOCUS小白 回答时间:2015-6-15 08:20:15
不错,cube呼吸灯
黑溱郎 回答时间:2015-6-15 08:31:27
cube呼吸灯,多谢分享。
莫林2020 回答时间:2015-6-15 08:51:56
什么是呼吸灯

埃斯提爱慕 回答时间:2015-6-15 22:18:48
提示: 作者被禁止或删除 内容自动屏蔽
lkl0305 回答时间:2015-6-15 22:57:22
Paderboy 发表于 2015-6-15 00:10
多谢分享。。支持
TIM2->CCR1 = TIM2_Channl1_Pulse;
在HAL库里用:

多谢指导交流
lkl0305 回答时间:2015-6-15 22:58:44
slotg 发表于 2015-6-15 08:59
http://www.baike.com/wiki/%E5%91%BC%E5%90%B8%E7%81%AF

非常准确
Brady 回答时间:2015-6-16 14:41:54
多谢分享!  HAL 库在学习中
lkl0305 回答时间:2015-6-16 23:24:04
Brady 发表于 2015-6-16 14:41
多谢分享!  HAL 库在学习中

多谢支持,共同学习

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版