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很暗
在這裏插入圖片描述

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