注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
lugl4313820的个人空间 http://home.eeworld.com.cn/space-uid-1269709.html [收藏] [复制] [分享] [RSS]
日志

【国民技术N32WB031_STB开发板评测】蓝牙控制LED灯

已有 343 次阅读2023-6-15 07:09

  1. 【新提醒】N32WB03x系列蓝牙芯片 产品简介 
  2. 【新提醒】N32WB031 API函数使用说明 
  3. 【新提醒】【国民技术N32WB031_STB开发板评测】资源的下载 
  4. 【国民技术N32WB031_STB开发板评测】创建MDK模版 
  5. 【国民技术N32WB031_STB开发板评测】GPIO之按键与LED灯 
  6. 【新提醒】【国民技术N32WB031_STB开发板评测】串口+LOG分级打印
  7. 【国民技术N32WB031_STB开发板评测】OLED驱动 
  8. 【国民技术N32WB031_STB开发板评测】驱动HS3003 
  9. 【国民技术N32WB031_STB开发板评测】SPI驱动墨水屏 
  10. 【国民技术N32WB031_STB开发板评测】点用 PA4后下载不程序 
  11. 【国民技术N32WB031_STB开发板评测】解决SWDCLK、SWDIO配置为普通IO后不能下载固件
  12. 【国民技术N32WB031_STB开发板评测】墨水屏温湿度计 

N32WB031主打是蓝牙功能,今天学习如何用手机蓝牙调试助手来实现手机对板载LED灯的控制。

1. 打开例程M:\N32WB03\N32WB03x_V1.3.0\5-Software Development Kit\N32WB03x_SDK_V1.3\projects\n32wb03x_EVAL\ble\blood_pressure

2. 修改M:\N32WB03\N32WB03x_V1.3.0\5-Software Development Kit\N32WB03x_SDK_V1.3\projects\n32wb03x_EVAL\ble\blood_pressure\src\app_profile\app_blps.c,blps_racp_write_ind_handler函数代码如下:

static int blps_racp_write_ind_handler(ke_msg_id_t const msgid,
                                          struct blps_racp_write_ind const *param,
                                          ke_task_id_t const dest_id,
                                          ke_task_id_t const src_id)
{
    NS_LOG_INFO("RACP length: %x\r\n", param->write_val_len);
    NS_LOG_INFO("RACP opcode: %x\r\n", param->write_val.opcode);
    NS_LOG_INFO("RACP operator: %x\r\n", param->write_val.op_operator);
    
    if(param->write_val_len >= 3)
    {
        NS_LOG_INFO("RACP operand: %x\r\n", param->write_val.operand);
        
        NS_LOG_INFO("RACP data: ");
        for(uint8_t i=0; i<(param->write_val_len-3); i++)
        {
            NS_LOG_INFO("%x ", param->write_val.data[i]);
        }
				if(param->write_val.data[0] == 0x01)
				{
					LedOn(LED1_PORT,LED1_PIN);   
				}
				else if(param->write_val.data[0] == 0x02)
				{
					LedOff(LED1_PORT,LED1_PIN);   
				}
				else if(param->write_val.data[0] == 0x03)
				{
					LedBlink(LED1_PORT,LED1_PIN);   
				}
        NS_LOG_INFO("\r\n");
    }
    
    return KE_MSG_CONSUMED;
}

我们在接收到数据后,对接收的数据区进行判断,如果为1测点灯LED,为2,熄灭,为3测翻转LED灯。

4. 下载程序到开发板。

5. 打开临牙调试助手,我们看到有NS_Blood_Pressuse蓝牙设备,点击CONNECT可以连接到开发板。

  6. 我们进入Blood Pressure服务,按下Recorde Access Contronl Point服务。

  7. 在数据发送区中HEX发送23556803,其中最后一位为我们需要发送对LED的控制。我们点击定时发送

 在我们的串口助手上就可以看到接收到的数据:

同时我们的开发板也可以看LED1在以1秒钟在闪烁。

 [localvideo]523112be1a90df404380aa69f7dc134c[/localvideo]
 

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章