0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SDK中的B85m_module例程的使用及注意事项

泰凌微电子 来源:泰凌微电子 作者:泰凌微电子 2022-07-12 11:56 次阅读

在泰凌Wiki网站上提供了多种应用场景的软件sdk,供客户选择使用。本系列的几篇文章主要讲述"Bluetooth LE Single Connection",此SDK是单连接应用的SDK,所谓的单连接就是蓝牙芯片做从机跟主机(一般是手机)建立点对点连接,或者蓝牙芯片做主机跟其他的从机建立点对点连接的应用场景。

本篇文章详细讲述此SDK中的B85m_module例程的使用及注意事项,以便客户尽快的熟悉起来,加快项目开发进度。

1module例程说明

单连接sdk中B85m_module是使用825x芯片和827x芯片,所以编译选项中又分为了825x_module和827x_module。module例程提供了基于BLE的数据透传功能,使得用户不必关心BLE复杂的实现细节,只需要处理传输业务数据即可。数据透传的指令是泰凌自己实现的一套指令集,如果用户更习惯使用AT指令,可以将例程中的指令做替换即可。

2module例程编译问题及解决方法

如果开发者直接编译825x_module或者827x_module(下文统称B85m_module),会出现下文的编译错误。

8dc7600e-0101-11ed-ba43-dac502259ad0.png

原因是B85m_module例程实现较复杂,需要使用32K retention的配置来编译,而sdk默认是选择的16K retention的配置。

解决方法:修改retention的配置可以参考Handbook的1.3章节的Software bootloader介绍,使用32K的boot.link文件和cstartup_*_32K.S启动文件。

3硬件连接图

8de61e40-0101-11ed-ba43-dac502259ad0.png

说明:下文以8258芯片为例,来描述B85m_module例程的使用。

在8258开发板上烧录编译成功的825x_module.bin固件,代码中默认的UART tx是PB1, uart rx是PB0。然后根据硬件连接图搭建好环境。

*注意:芯片的uart tx接串口工具的uart rx,芯片的uart rx接串口的工具uart tx,不要接错了。

PC端打开串口工具软件,波特率设置为115200,data bit为8,无校验,stop位为1。

手机端的app使用LightBlue软件,然后扫描到"kModule"的蓝牙设备,然后建立连接。

如果连接时,弹出配对请求,则选择配对。是因为默认使能了smp配对功能。如果不需要这个功能,则把app_config.h文件的 BLE_SECURITY_ENABLE宏定义设置为0,再clean后重新编译生成固件。

4数据透传

当手机app和B85m_module建立蓝牙连接之后,可以看到module例程的Telink SPP透传服务,根据描述符的提示,分成数据接收和数据发送两个方向:

8dfdf3a8-0101-11ed-ba43-dac502259ad0.png

4.1数据接收

数据接收(Phone->Module)即手机app发送数据给蓝牙芯片,然后蓝牙芯片通过uart打印出来,最后在PC端的串口工具软件上显示。

1、蓝牙event事件输出

当在nrf connect软件上点击连接或者断开时,串口工具上会显示出蓝牙连接事件(hex数据 FF 02 83 07)和蓝牙断开事件(hex数据 FF 02 84 07),如下图所示。

8e283636-0101-11ed-ba43-dac502259ad0.png

*备注:FF 02 8D 07是map channel更换的event事件。

2、手机发送hex数据 00 11 22 33 44 55 66

在LightBlue软件上,数据透传使用的服务,UUID是0x000102030405060708090a0b0c0d2b11(注意跟代码中的UUID是反序的),点击红色方框处输入发送的数据。

8e43089e-0101-11ed-ba43-dac502259ad0.png

如下图所示,PC端的串口工具软件已经显示了接收到的数据。注意接收到的数据有格式,前7bytes是数据的header。

8e6d9c1c-0101-11ed-ba43-dac502259ad0.png

4.2数据发送

数据发送(Module -> Phone)即PC端串口工具软件发送数据给蓝牙芯片,然后蓝牙芯片通过BLE发送给手机,最后在LightBlue软件上显示。

(1)手机app端使能notify权限

蓝牙芯片上报数据给手机app,是使用notify方式,手机端必须先使能notify权限,手机端才会监听到蓝牙芯片上报的数据,否则手机app不会接收的。

在LightBlue软件上点击Listen,当软件界面显示Stop Listening时,表示正在listening,已经使能了notify权限。

(2)蓝牙芯片端使能唤醒脚

在B85m_module程序中,默认使能了低功耗,也就是蓝牙芯片会自动进入低功耗模式,并定时唤醒保持蓝牙连接的心跳,因此大部分时间是处于低功耗模式。在低功耗模式下,芯片的UART是无法接收数据的,必须先使用GPIO唤醒芯片,让芯片处于active模式,uart才能接收数据。

代码中默认设置为PA2为高电平唤醒脚。手动把芯片的PA2 pin拉高,接到3.3V上。就可以把蓝牙芯片唤醒并禁止进入低功耗。在app_config.h文件中对应的宏定义:

#define GPIO_WAKEUP_MODULE GPIO_PA2

(3)数据发送

在串口工具中,输入hex数据:1c ff 16 00 11 00 01 02 03 04 05 06 07 08 09 00 01 02 03 04 05 06 07 08 09 00,然后点击send发送。

数据输入的格式说明,都是hex格式的数据:

1C FF:表示data send命令

16 00:表示数据长度,handle值(2bytes)+ data Length(20bytes)

11 00:数据发送使用的handle值为0x0011,小端字节序原因。

01 02 …00:实际需要发送的数据。

注意数据发送的长度在20字节以内,如果要发送更长的数据,可以查看Handbook中的MTU和DLE功能,使能长包后再发送长包数据。

8e83445e-0101-11ed-ba43-dac502259ad0.png

在手机LightBlue软件上,可以看到收到的数据,如下图所示。

8ea7496c-0101-11ed-ba43-dac502259ad0.png

关 于 泰 凌

泰凌微电子致力于为客户提供一站式的低功耗高性能无线连接SoC芯片解决方案,包括经典蓝牙,蓝牙低功耗,蓝牙Mesh,Zigbee,Thread,Matter,Apple HomeKit,Apple“查找(Find My)”,和私有协议等低功耗2.4GHz多协议无线连接系统级芯片和丰富的固件协议栈。公司产品广泛应用于智能照明,智能家居/楼宇,智能遥控,无线外设,智能零售,穿戴设备,无线音频,智能玩具,物流追踪,智慧城市等各类消费和商业应用场景中。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 蓝牙芯片
    +关注

    关注

    17

    文章

    371

    浏览量

    45934
  • Module
    +关注

    关注

    0

    文章

    64

    浏览量

    12837
  • SDK
    SDK
    +关注

    关注

    3

    文章

    1018

    浏览量

    45667
  • 泰凌
    +关注

    关注

    0

    文章

    7

    浏览量

    4259

原文标题:【技术专栏】泰凌微电子BLE单连接SDK B85m_module例程使用演示

文章出处:【微信号:telink-semi,微信公众号:泰凌微电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    PCB设计对电流回路的注意事项

    PCB设计对电流回路的注意事项 对于电流回路,需要注意如下基本事项
    发表于 04-16 18:05 4134次阅读
    PCB设计<b class='flag-5'>中</b>对电流回路的<b class='flag-5'>注意事项</b>

    Cortex-M内核使用FreeRTOS特别注意事项

    本文来自CSDN博客FreeRTOS基础篇,本篇主要分享Cortex-M内核使用FreeRTOS特别注意事项
    发表于 09-19 15:01 660次阅读
    Cortex-<b class='flag-5'>M</b>内核使用FreeRTOS特别<b class='flag-5'>注意事项</b>

    HDMI在TV应用注意事项

    HDMI在TV应用注意事项HDMI 在TV 应用注意事项HDMI 做为一种新的数字视频接口规范,其应用越来越广泛。应
    发表于 10-22 08:45 2336次阅读
    HDMI在TV应用<b class='flag-5'>中</b>的<b class='flag-5'>注意事项</b>

    H3 SDK1.0 USB模块的配置方法及注意事项

    本文介绍H3 sdk1.0 USB模块配置方法,以及使用注意事项
    发表于 03-26 16:36 6次下载
    H3 <b class='flag-5'>SDK</b>1.0 USB模块的配置方法及<b class='flag-5'>注意事项</b>

    AN-528:设计5B系列系统的设计注意事项

    AN-528:设计5B系列系统的设计注意事项
    发表于 05-10 09:40 8次下载
    AN-528:设计5<b class='flag-5'>B</b>系列系统的设计<b class='flag-5'>注意事项</b>

    SDKB85m_ble_sample例程的使用及注意事项

    单连接SDKB85m_ble_sample适用825x芯片和827x芯片,所以编译选项又分为了825x_ble_sample和827x_ble_sample(下文统称ble_sam
    的头像 发表于 07-13 16:21 1675次阅读

    SDKB85m_ble_remote例程的使用及注意事项

    在泰凌Wiki网站上提供了多种应用场景的软件SDK,供客户选择使用。本系列的几篇文章主要讲述"Bluetooth LE Single Connection",此SDK是单连接
    的头像 发表于 07-20 16:34 2599次阅读

    HW2000B应用注意事项

    电子发烧友网站提供《HW2000B应用注意事项.pdf》资料免费下载
    发表于 09-22 11:04 0次下载
    HW2000<b class='flag-5'>B</b>应用<b class='flag-5'>注意事项</b>

    使用注意事项

    使用注意事项
    发表于 03-17 20:14 1次下载
    使用<b class='flag-5'>注意事项</b>

    E8a仿真器用户手册附加文档连接M32C/84、M32C/85M32C/86、M32C/87和M32C/88时的注意事项

    E8a仿真器用户手册附加文档连接M32C/84、M32C/85M32C/86、M32C/87和M
    发表于 04-26 20:33 0次下载
    E8a仿真器用户手册附加文档连接<b class='flag-5'>M</b>32C/84、<b class='flag-5'>M</b>32C/<b class='flag-5'>85</b>、<b class='flag-5'>M</b>32C/86、<b class='flag-5'>M</b>32C/87和<b class='flag-5'>M</b>32C/88时的<b class='flag-5'>注意事项</b>

    E8仿真器用户手册附加文档(连接M32C/84 M32C/85 M32C/86 M32C/87和M32C/88注意事项

    E8仿真器用户手册附加文档(连接M32C/84 M32C/85 M32C/86 M32C/87和M
    发表于 04-28 19:49 0次下载
    E8仿真器用户手册附加文档(连接<b class='flag-5'>M</b>32C/84 <b class='flag-5'>M</b>32C/<b class='flag-5'>85</b> <b class='flag-5'>M</b>32C/86 <b class='flag-5'>M</b>32C/87和<b class='flag-5'>M</b>32C/88<b class='flag-5'>注意事项</b>)

    使用注意事项

    使用注意事项
    发表于 07-07 19:04 0次下载
    使用<b class='flag-5'>注意事项</b>

    电源的电容作用及注意事项

    电子发烧友网站提供《电源的电容作用及注意事项.pdf》资料免费下载
    发表于 11-13 09:21 0次下载
    电源<b class='flag-5'>中</b>的电容作用及<b class='flag-5'>注意事项</b>

    RX78M组的高温操作注意事项

    电子发烧友网站提供《RX78M组的高温操作注意事项.pdf》资料免费下载
    发表于 01-29 11:19 0次下载
    RX78<b class='flag-5'>M</b>组的高温操作<b class='flag-5'>注意事项</b>

    TAS5825M的EMC设计注意事项

    电子发烧友网站提供《TAS5825M的EMC设计注意事项.pdf》资料免费下载
    发表于 08-29 11:48 0次下载
    TAS5825<b class='flag-5'>M</b>的EMC设计<b class='flag-5'>注意事项</b>