- 博客(9)
- 资源 (5)
- 收藏
- 关注
原创 基于STM32F103C8T6的蓝牙音乐氛围灯(四)CubeMX配置
定时器2计数周期为9,即从0到9计数10次产生溢出。所以定时器2每10*10^-4秒=1毫秒产生一次溢出中断。HC-04接收到数据后通过串口传给STM32,需要利用串口中断来实现灯带模式切换,下面要配置串口中断。72MHz,7199+1=7200分频,定时器计数一次为7200/72MHz=10^-4秒。我们还需要配置STM32的串口,用来和HC-04进行串口通信。本项目采用CubeMX+Keil5,利用HAL库进行开发。配置串口要配置波特率,本项目配置成115200。最后,设置好代码输出。
2023-09-04 10:51:28
984
1
原创 基于STM32F103C8T6的蓝牙音乐氛围灯(三)WS2812灯带简介
举个例子,我现在有一个灯珠,我给了三个24bit的颜色数据,如果我连续将这些数据给这个灯珠,它会留下第一个24bit数据,而将后面的2个24bit数据继续传输(尽管它后面什么都没有,它依然会把数据传走)。所以我们要注意,在编写颜色数据给灯珠时,要特别强制在每一次传输之前加一个复位码,这样灯珠就明白这是一次新的数据了。三原色原理,但是注意三原色一般顺序是RGB,而WS2812接收颜色顺序是GRB,所以编写代码的时候要注意编写一个函数用于把RGB的数据格式给换成GRB,思路是G<<16||R<<8||B。
2023-09-03 21:28:25
1031
原创 基于STM32F103C8T6的蓝牙音乐氛围灯(二)硬件连接
需要注意的是麦克风买来的时候管脚是没有焊接的,需要自己焊一下。用买来的圆孔充电线USB转DC线,将DC头剪掉,将电源线和WS2812灯带的两根电源线接起来,用绝缘胶带粘好(用普通透明胶带不太好,容易掉,粘不牢)。USB端找一个能提供足够电流的充电头就可以供电了,我用的是华为的手机充电器,输出5V-2A。ST-Link的SWDI0接STM32的SWO,同样顺序GND接GND,SWCLK接SWCLK,3.3V接3.3V。需要注意的是HC-04的TX要接32的RX,HC-04的RX要接32的TX。
2023-09-03 20:30:55
727
原创 基于STM32F103C8T6的蓝牙音乐氛围灯(一)项目硬件资源和软件开发环境
此外,需要ST-LINK V2仿真编程器(进行实验的时候确实方便),需要圆孔充电线USB转DC线,用来给灯带供电。最终实现了由麦克风进行声音采集,送入到STM32的AD中,由STM32产生利用定时器和DMA产生PWM波按照协议传数据给WS2812,产生不同的灯珠亮灭和颜色变化。本内容是购买了朱有鹏老师开的训练营,学习后的总结内容和发现的一些问题。2、STM32 ST-LINK Utility 用于下载编译好的程序到STM32中。3、Notepad++ 用于编辑文档,有的时候比keil好用。
2023-09-03 20:11:10
1619
原创 STM32C8T6之50%占空比
void delay_ns(uint32_t nus){ //延时程序n为1时大概延时时间为370ns左右。以上为Cubmx生成的代码,while(1)内的代码及delay代码为自己编写。经过逻辑分析仪测试(型号为LA1010),在PA8脚产生占空比为50%的脉冲。原理:不知道,实验结果就是这样的,没想明白。
2023-08-16 16:45:05
232
1
原创 输入星期几的第一个字母来判断是星期几,如果第一个字母一样,则继续判断第二个
输入星期几的第一个字母来判断是星期几,如果第一个字母一样,则继续判断第二个这是人民邮电出版社王曙燕编写的《C语言程序设计教程》中第四章《选择程序分支结构程序设计》中的一道例题,P72-74。
2022-10-17 18:32:07
2652
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人