xiaolinen 发表于 2024-6-23 18:42

全能小网关|CH32V208--第二篇:BLE收发双向通讯

<div class='showpostmsg'> 本帖最后由 xiaolinen 于 2024-6-23 18:37 编辑

<p><strong><span style="font-size:22px;">一:修改BLE名称</span></strong></p>

<p><span style="font-size:20px;">&nbsp; &nbsp; &nbsp; &nbsp; 1.1,CH32V208的BLE名称,涉及到两个变量的修改:应将scanRspData的名称和attDeviceName的名称配置为一样,且scanRspData中的名称长度需要同步更新。</span></p>

<p><span style="font-size:20px;">&nbsp; &nbsp; &nbsp; &nbsp; 1.2,修改如下,所示:</span></p>

<div style="text-align: center;"></div>

<div style="text-align: center;"><span style="color:#e74c3c;">scanRspData变量修改部分</span></div>

<div style="text-align: center;">&nbsp;</div>

<div style="text-align: center;"></div>

<div style="text-align: center;"><span style="color:#e74c3c;">attDeviceName变量修改部分</span></div>

<div><span style="font-size:20px;">&nbsp; &nbsp; &nbsp; &nbsp; 1.3,实验现象,如下所示:</span></div>

<div>
<div style="text-align: center;">
<div style="text-align: center;"></div>

<p><span style="color:#e74c3c;">所显示蓝牙为过滤后的结果</span></p>

<p style="text-align: left;"><span style="font-size:22px;">二:BLE接受和发送例程</span></p>

<p style="text-align: left;"><span style="font-size:20px;">&nbsp; &nbsp; &nbsp; &nbsp; 2.1,声明:本次实验在BLE_UART例程中进行。</span></p>

<p style="text-align: left;"><span style="font-size:20px;">&nbsp; &nbsp; &nbsp; &nbsp; 2.2,实验思路:</span></p>

<p style="text-align: left;"><span style="font-size:20px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.2.1,CH32V208通过BLE接收到数据,将数据转发到UART3中,进行显示。</span></p>

<p style="text-align: left;"><span style="font-size:20px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.2.2,CH32V208通过UART3接收到数据,通过BLE通知到手机上蓝牙助手,进行显示。</span></p>

<p style="text-align: left;"><span style="font-size:20px;">&nbsp; &nbsp; &nbsp; &nbsp; 2.3,重点部分代码,如下:</span></p>

<p style="text-align: left;"><span style="font-size:20px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.3.1,BLE接受,转发至UART3,重点代码如下:</span></p>

<div style="text-align: center;"></div>

<p style="text-align: left;"><span style="font-size:20px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.3.2,UART3接受,转发至BLE,重点代码如下:</span></p>

<div style="text-align: center;"></div>

<p><span style="color:#e74c3c;">串口中断,将接收到的数据写入app_uart_rx_fifo中</span></p>

<div style="text-align: center;"></div>

<p><span style="color:#e74c3c;">主循环检测到UART_TO_BLE_SEND_EVT事件,从app_uart_rx_fifo中读取数据</span></p>

<div style="text-align: center;"></div>

<div style="text-align: center;"><span style="color:#e74c3c;">数据通过ble_uart_notify发送出去</span></div>

<div style="text-align: left;"><span style="font-size:20px;">&nbsp; &nbsp; &nbsp; &nbsp; 2.4,实验现象,如下所示:</span></div>

<div style="text-align: left;">
<div style="text-align: center;"></div>

<div style="text-align: center;"><span style="color:#e74c3c;">通过蓝牙助手连接CH32V208的BLE进行数据接收和发送</span></div>

<div style="text-align: center;"></div>

<div style="text-align: center;"><span style="color:#e74c3c;">通过串口助手连接CH32V208的UART3进行数据接收和发送</span></div>

<p>&nbsp;</p>
</div>

<p>&nbsp;</p>
</div>
</div>
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

Jacktang 发表于 2024-6-25 07:32

<p>实验是在BLE_UART例程中进行,好吧</p>

xiaolinen 发表于 2024-6-25 09:31

Jacktang 发表于 2024-6-25 07:32
实验是在BLE_UART例程中进行,好吧

<p>受教了</p>
页: [1]
查看完整版本: 全能小网关|CH32V208--第二篇:BLE收发双向通讯