提出问题:一种三色LED无线控制装置 要求:无线控制三色LED,具有循环闪烁模式和单一控制亮度两种模式,模式和单一LED亮度可以无线控制切换。说明:三色LED可以自选,无线通讯方式不限,但亮度变化要求人眼能明显区分,供电方式不限。
需要用到元器件:stm32f103c8t6最小系统,usb转ttl,hc-05,3色LED。
分模块记录代码以及接线:
hc05 使能端EN接GND时可以被蓝牙调试助手顺利连接,接高电平时慢闪(像是AT模式)。按住hc05按键+usb转ttl接入电脑即可用串口助手设置AT各模式 ,特别注意波特率和cubemax设置的usart波特率是否一致。

参考(54条消息) HC-05,HC-06AT指令_hc06at指令_蔚蓝慕的博客-CSDN博客
实现呼吸灯功能,需要用到定时器PWM。最小系统引脚B9876分别对应tim4channel4321。

使能PWM输出:
/* USER CODE BEGIN 2 */
HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_4); // 使能PWM输出
HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_1); // 使能PWM输出
HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_2); // 使能PWM输出
/* USER CODE END 2 */
以定时器4通道4为例,输出PWM波的代码(放在while(1)循环里):
for(uint16_t i=1;i<1200;i++) // 通过循环逐渐改变CCR,进而改变占空比。
{
htim4.Instance->CCR4 = i;
HAL_Delay(1);
}
for(uint16_t i=1199;i>=1;i--)
{
htim4.Instance->CCR4 = i; // 通过htim3.Instance->CCRx直接修改CCR的值 与cubemx中pulse指的相同。
HAL_Delay(1);
}
HAL_Delay(10);
参考(54条消息) STM32,CubeMX输出pwm波,实现呼吸灯。-CSDN博客
选看(54条消息) Cubemx与HAL库系列教程|PWM呼吸灯详解_hal_tim_msppostinit_小飞哥玩嵌入式的博客-CSDN博客因为代码看不懂😬😬😬
其他还有关于蓝牙通信(54条消息) 小白入门STM32(1)----手机蓝牙控制STM32单片机点亮LED_蓝牙模块与stm32单片机连接_mantoureganmian的博客-CSDN博客写的很易懂,在此基础上自由发挥。
第一篇CSDN博客,东拼西凑寥寥草草虎头蛇尾高开低走,就爱这么写😬😬😬