【国民技术N32WB031_STB开发板评测】蓝牙控制LED灯
[复制链接]
- 【新提醒】N32WB03x系列蓝牙芯片 产品简介
- 【新提醒】N32WB031 API函数使用说明
- 【新提醒】【国民技术N32WB031_STB开发板评测】资源的下载
- 【国民技术N32WB031_STB开发板评测】创建MDK模版
- 【国民技术N32WB031_STB开发板评测】GPIO之按键与LED灯
- 【新提醒】【国民技术N32WB031_STB开发板评测】串口+LOG分级打印
- 【国民技术N32WB031_STB开发板评测】OLED驱动
- 【国民技术N32WB031_STB开发板评测】驱动HS3003
- 【国民技术N32WB031_STB开发板评测】SPI驱动墨水屏
- 【国民技术N32WB031_STB开发板评测】点用 PA4后下载不程序
- 【国民技术N32WB031_STB开发板评测】解决SWDCLK、SWDIO配置为普通IO后不能下载固件
- 【国民技术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秒钟在闪烁。
LED灯闪
|