RT-Thread 实现蓝牙串口通信功能 ---- STM32&&RT-thread

一、需求

实现蓝牙串口通信功能

• 当手机端蓝牙调试助手发送:”LED1 Toggle”时,反转LED1灯状态;
• 当手机端蓝牙调试助手发送:”LED2 BrightnessN”(其中最后一个字母N表示亮度等级,可取为1,2,3,4,5,数字越大,越亮)时,调节LED2的亮度等级
• LED1、LED2自由选择GPIO口

二、实现

void LED2_control(int argc,char **argv)
{

	if(!rt_strcmp(argv[1],"LED2 Brightness1"))
	{
        TIM3->CCR1 = 499;
	}
    else if(!rt_strcmp(argv[1],"LED2 Brightness2"))
    {
        TIM3->CCR1 = 400;
    }
    else if(!rt_strcmp(argv[1],"LED2 Brightness3"))
    {
        TIM3->CCR1 = 300;
    }
    else if(!rt_strcmp(argv[1],"LED2 Brightness4"))
    {
        TIM3->CCR1 = 200;
    }
    else if(!rt_strcmp(argv[1],"LED2 Brightness5"))
    {
        TIM3->CCR1 = 100;
    }
}
MSH_CMD_EXPORT(LED2_control, LED2 Bringhtness control);

int LED1Toggle(void)
{

    HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_7);
	return 0;
}
MSH_CMD_EXPORT(LED1Toggle, LED1 Toggle);
  • 在MSH中输入对应控制命令即可。

三、实验效果

由于没有蓝牙,所以我就使用USB转TTL模拟。
效果如下:
初始化为两个灯常亮:
在这里插入图片描述
当调用LED1翻转,和LED2的模式为”LED2 Brightness1”时,效果如下:LED1灭了,LED2很暗
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章