你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【NUCLEO-WB09KE评测】+4.蓝牙控制LED

[复制链接]
奇迹 发布时间:2024-12-23 20:49

继续捣鼓蓝牙,今天实现一个WB09开启一个LED控制的服务,里面有两个特征,分别控制LED的点亮与熄灭。

对上一篇的帖子里面的工程继续编辑,首先配置一下LED灯控制IO,默认设为高电平,也就是LED熄灭

微信截图_20241223203257.png

添加一个服务

微信截图_20241223203319.png

配置LED控制服务,里面添加两个特征值

微信截图_20241223203329.png

配置LED打开特征值,数据长度设置1,只打开写

微信截图_20241223203335.png

配置LED关闭特征值,数据长度设置1,只打开写

微信截图_20241223203341.png

生成工程,打开led_control_app.c文件,添加回调处理

/* Functions Definition ------------------------------------------------------*/
void LED_CONTROL_Notification(LED_CONTROL_NotificationEvt_t *p_Notification)
{
  /* USER CODE BEGIN Service1_Notification_1 */

  /* USER CODE END Service1_Notification_1 */
  switch(p_Notification->EvtOpcode)
  {
    /* USER CODE BEGIN Service1_Notification_Service1_EvtOpcode */

    /* USER CODE END Service1_Notification_Service1_EvtOpcode */

    case LED_CONTROL_LED_ON_WRITE_EVT:
      /* USER CODE BEGIN Service1Char1_WRITE_EVT */
                HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
      /* USER CODE END Service1Char1_WRITE_EVT */
      break;

    case LED_CONTROL_LED_OFF_WRITE_EVT:
      /* USER CODE BEGIN Service1Char2_WRITE_EVT */
                HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
      /* USER CODE END Service1Char2_WRITE_EVT */
      break;

    default:
      /* USER CODE BEGIN Service1_Notification_default */

      /* USER CODE END Service1_Notification_default */
      break;
  }
  /* USER CODE BEGIN Service1_Notification_2 */

  /* USER CODE END Service1_Notification_2 */
  return;
}

编译并下载,使用手机扫描,点击CONNECT连接

image.png

可以看到有一个自定义服务,该服务下有两个特征

image.png

尝试写入

image.png

当对第一个特征写入任意值后,小灯点亮 image.png

当对第一个特征写入任意值后,小灯熄灭

image.png

image.png
收藏 评论0 发布时间:2024-12-23 20:49

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版