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

查看: 7034|回复: 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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版