简介:
基于之前的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级亮度,通蓝牙助手已经可以控制灯条亮度。