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

我要赚赏金
