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很暗
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值