基于STM32F103C8T6的蓝牙音乐氛围灯(四)CubeMX配置

本项目采用CubeMX+Keil5,利用HAL库进行开发。
在这里插入图片描述

在这里插入图片描述
配置串口调试
配置外部时钟
在这里插入图片描述
配置成72MHz
配置PA8为定时器输出PWM
在这里插入图片描述
配置PWM计数周期为105。为啥是105呢?这是因为培训讲师参考的是别人的博客,那个博主用的系统频率是84MHz,我们用1/84MHz,然后乘以105,等于1.25us。刚好和WS2812手册中,WS2812的800kHz的通信速率是吻合的。但本项目采用的是72MHz,不分频,确定了定时器计数一次大概为13ns,周期105+1=106,106x13ns=1.378us。
1.378usx0.78=1.078us,1.378usx0.32=0.44us,虽然和手册不太吻合,但是也大概差不多。其实只要周期设置的不太大,不要超过1.5us,大致都是可以的。也可以选择配置成89,这样的话,1/72MHz,然后乘以90,等于1.25us。所以这个WS2812比较神奇,你可以按照自己的想法来配置,基本不会出问题。
在这里插入图片描述

定时器2用来实现氛围灯的回落(即一盏一盏的熄灭)
72MHz,7199+1=7200分频,定时器计数一次为7200/72MHz=10^-4秒。
定时器2计数周期为9,即从0到9计数10次产生溢出。所以定时器2每10*10^-4秒=1毫秒产生一次溢出中断。
配置定时器2
定时器中断使能
我们还需要配置STM32的串口,用来和HC-04进行串口通信。
配置串口要配置波特率,本项目配置成115200。
在这里插入图片描述
HC-04接收到数据后通过串口传给STM32,需要利用串口中断来实现灯带模式切换,下面要配置串口中断
在这里插入图片描述
最后,设置好代码输出
在这里插入图片描述

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值