【国民技术N32WB031_STB开发板评测】蓝牙控制LED灯
<ol><li><a href="https://bbs.eeworld.com.cn/thread-1241062-1-1.html">【新提醒】N32WB03x系列蓝牙芯片 产品简介 </a></li>
<li><a href="https://bbs.eeworld.com.cn/thread-1241020-1-1.html">【新提醒】N32WB031 API函数使用说明 </a></li>
<li><a href="https://bbs.eeworld.com.cn/thread-1241013-1-1.html">【新提醒】【国民技术N32WB031_STB开发板评测】资源的下载 </a></li>
<li><a href="https://bbs.eeworld.com.cn/thread-1241678-1-1.html">【国民技术N32WB031_STB开发板评测】创建MDK模版 </a></li>
<li><a href="https://bbs.eeworld.com.cn/thread-1241679-1-1.html">【国民技术N32WB031_STB开发板评测】GPIO之按键与LED灯 </a></li>
<li><a href="https://bbs.eeworld.com.cn/thread-1241731-1-1.html">【新提醒】【国民技术N32WB031_STB开发板评测】串口+LOG分级打印</a></li>
<li><a href="https://bbs.eeworld.com.cn/thread-1241815-1-1.html">【国民技术N32WB031_STB开发板评测】OLED驱动 </a></li>
<li><a href="https://bbs.eeworld.com.cn/thread-1241869-1-1.html">【国民技术N32WB031_STB开发板评测】驱动HS3003 </a></li>
<li><a href="https://bbs.eeworld.com.cn/thread-1241820-1-1.html">【国民技术N32WB031_STB开发板评测】SPI驱动墨水屏 </a></li>
<li><a href="https://bbs.eeworld.com.cn/thread-1241870-1-1.html">【国民技术N32WB031_STB开发板评测】点用 PA4后下载不程序 </a></li>
<li><a href="https://bbs.eeworld.com.cn/thread-1242031-1-1.html">【国民技术N32WB031_STB开发板评测】解决SWDCLK、SWDIO配置为普通IO后不能下载固件</a></li>
<li><a href="https://bbs.eeworld.com.cn/thread-1242198-1-1.html">【国民技术N32WB031_STB开发板评测】墨水屏温湿度计 </a></li>
</ol>
<p>N32WB031主打是蓝牙功能,今天学习如何用手机蓝牙调试助手来实现手机对板载LED灯的控制。</p>
<p>1. 打开例程M:\N32WB03\N32WB03x_V1.3.0\5-Software Development Kit\N32WB03x_SDK_V1.3\projects\n32wb03x_EVAL\ble\blood_pressure</p>
<p>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函数代码如下:</p>
<pre>
<code>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);
}
if(param->write_val.data == 0x01)
{
LedOn(LED1_PORT,LED1_PIN);
}
else if(param->write_val.data == 0x02)
{
LedOff(LED1_PORT,LED1_PIN);
}
else if(param->write_val.data == 0x03)
{
LedBlink(LED1_PORT,LED1_PIN);
}
NS_LOG_INFO("\r\n");
}
return KE_MSG_CONSUMED;
}</code></pre>
<p>我们在接收到数据后,对接收的数据区进行判断,如果为1测点灯LED,为2,熄灭,为3测翻转LED灯。</p>
<p>4. 下载程序到开发板。</p>
<p>5. 打开临牙调试助手,我们看到有NS_Blood_Pressuse蓝牙设备,点击CONNECT可以连接到开发板。</p>
<p> 6. 我们进入Blood Pressure服务,按下Recorde Access Contronl Point服务。</p>
<p> 7. 在数据发送区中HEX发送23556803,其中最后一位为我们需要发送对LED的控制。我们点击定时发送</p>
<p> 在我们的串口助手上就可以看到接收到的数据:</p>
<p></p>
<p>同时我们的开发板也可以看LED1在以1秒钟在闪烁。</p>
<p> 523112be1a90df404380aa69f7dc134c<br />
</p>
<p>12项测试大全,总结全在这里了</p>
火辣西米秀 发表于 2023-6-16 07:33
12项测试大全,总结全在这里了
<p>还没有呀,最近事多,没得详细做。</p>
<p> 支持国产</p>
无name小卒 发表于 2023-6-17 11:10
支持国产
<p>感谢支持。</p>
<p>国产芯片发展的步伐好快啊,支持...............</p>
<p> </p>
lansebuluo 发表于 2023-6-18 08:59
国产芯片发展的步伐好快啊,支持...............
<p>感谢支持!</p>
页:
[1]