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

查看: 7038|回复: 11

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

[复制链接]

40

主题

1595

回帖

1

蝴蝶豆

论坛元老

最后登录
2018-7-23
发表于 2015-6-14 22:39:28 | 显示全部楼层 |阅读模式
本帖最后由 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)
<
回复

使用道具 举报

47

主题

3404

回帖

30

蝴蝶豆

版主

最后登录
2020-12-7
发表于 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);

回复 支持 反对

使用道具 举报

47

主题

1210

回帖

5

蝴蝶豆

论坛元老

最后登录
2020-8-13
发表于 2015-6-15 01:05:58 | 显示全部楼层
多谢分享。
回复 支持 反对

使用道具 举报

26

主题

492

回帖

0

蝴蝶豆

金牌会员

最后登录
2018-11-11
发表于 2015-6-15 08:20:15 | 显示全部楼层
不错,cube呼吸灯
回复 支持 反对

使用道具 举报

11

主题

661

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-6-8
发表于 2015-6-15 08:31:27 | 显示全部楼层
cube呼吸灯,多谢分享。
回复 支持 反对

使用道具 举报

11

主题

139

回帖

0

蝴蝶豆

高级会员

最后登录
2019-7-18
发表于 2015-6-15 08:51:56 | 显示全部楼层
什么是呼吸灯

回复 支持 反对

使用道具 举报

26

主题

1984

回帖

6

蝴蝶豆

论坛元老

最后登录
2020-12-9
发表于 2015-6-15 08:59:00 | 显示全部楼层
回复 支持 反对

使用道具 举报

41

主题

2476

回帖

282

蝴蝶豆

论坛元老

最后登录
2020-12-8
发表于 2015-6-15 22:18:48 | 显示全部楼层
不错,谢谢分享
回复 支持 反对

使用道具 举报

40

主题

1595

回帖

1

蝴蝶豆

论坛元老

最后登录
2018-7-23
 楼主| 发表于 2015-6-15 22:57:22 | 显示全部楼层
Paderboy 发表于 2015-6-15 00:10
多谢分享。。支持
TIM2->CCR1 = TIM2_Channl1_Pulse;
在HAL库里用:

多谢指导交流
回复 支持 反对

使用道具 举报

40

主题

1595

回帖

1

蝴蝶豆

论坛元老

最后登录
2018-7-23
 楼主| 发表于 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

非常准确
回复 支持 反对

使用道具 举报

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