这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 【NUCLEO-WBA55CG开发板评测】DIY蓝牙小台灯之使用蓝牙助手台灯亮度

共1条 1/1 1 跳转至

【NUCLEO-WBA55CG开发板评测】DIY蓝牙小台灯之使用蓝牙助手台灯亮度控制

工程师
2024-12-17 19:20:05     打赏

简介:

       基于之前的PWM输出(PWM 输出控制灯条亮度)及BLE上下行通信(BLE调试助手使用)的基础上,使用BLE来控制灯条亮度,这两部分很容易对接起来,修改官方的历程中控制板子上的LED 代码替换位控制PWM 输出控制即可完成这两部分的对接工作。

修改原有工程替换如下代码通过蓝牙来控制灯条代码。

void P2P_SERVER_Notification(P2P_SERVER_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 P2P_SERVER_LED_C_READ_EVT:
      /* USER CODE BEGIN Service1Char1_READ_EVT */

      /* USER CODE END Service1Char1_READ_EVT */
      break;

    case P2P_SERVER_LED_C_WRITE_NO_RESP_EVT:
      /* USER CODE BEGIN Service1Char1_WRITE_NO_RESP_EVT */
#if 0     
      if(p_Notification->DataTransfered.p_Payload[1] == 0x01)
      {
        BSP_LED_On(LED_BLUE);
        LOG_INFO_APP("-- P2P APPLICATION SERVER : LED1 ON\n"); 
        P2P_SERVER_APP_Context.LedControl.Led1 = 0x01; /* LED1 ON */
      }
      if(p_Notification->DataTransfered.p_Payload[1] == 0x00)
      {
        BSP_LED_Off(LED_BLUE);
        LOG_INFO_APP("-- P2P APPLICATION SERVER : LED1 OFF\n"); 
        P2P_SERVER_APP_Context.LedControl.Led1 = 0x00; /* LED1 OFF */
      }
#else
      P2P_SERVER_APP_Context.LedControl.Led1 = p_Notification->DataTransfered.p_Payload[1]%10;
      __HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_4,P2P_SERVER_APP_Context.LedControl.Led1*100);
#endif


修改后下载到板卡,灯条配置为10级亮度,通蓝牙助手已经可以控制灯条亮度。

20241217-223957.gif




共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]