一 前言

这里的代码是在原厂基础上修改了不少。虽然代码复杂了不少,但是逻辑也清晰了不少。

二  广播协议

想要熟悉并修改ble的广播协议和内容,请查阅结构体:

static const attribute_t my_Attributes[] 
 比如,假如要上报电压值,可以在里面添加
        {0,ATT_PERMISSIONS_READ,2,sizeof(my_batCharVal),(u8*)(&my_characterUUID), (u8*)(my_batCharVal), 0},                //prop

该广播信息的填写如下所示:

 
//// Battery attribute values
static const u8 my_batCharVal[5] = {
CHAR_PROP_READ | CHAR_PROP_NOTIFY,
U16_LO(BATT_LEVEL_INPUT_DP_H), U16_HI(BATT_LEVEL_INPUT_DP_H),
U16_LO(CHARACTERISTIC_UUID_BATTERY_LEVEL), U16_HI(CHARACTERISTIC_UUID_BATTERY_LEVEL)
};
三 连接和断开
  连接成功的接口如下所示:
    case APP_BLE_EVENT_CONNECTED:
b_ble_connected = ON;
LOG_INFO("Connected!!! ble_state:%d ",b_ble_connected);
LOG_INFO("e: %d p:%d n: %d", param->e, param->p, param->n);

断开的接口如下所示:

    case APP_BLE_EVENT_DISCONNECTED:
b_ble_connected = OFF;
b_rx_notify_enable = OFF; LOG_INFO("DisConnected Reason: 0x%02x ble_state:%d ", param->p,b_ble_connected);
att_mtu_size = DEFAULT_ATT_MTU_SIZE;
四 数据收发
     数据接收的接口函数:
static int parse_xp_message(XpMessage* message, uint8_t* data, uint16_t len)
{
uint8_t* p = NULL;
p = data; set_xp_header(message, data, &p);
LOG_DEBUG("%s Info: ble received data:", __func__);
  数据发送的接口函数:
    app_ble_send_data_by_notification(buff, length);

五 软硬件链接:

泰凌微TLSR8258 BLE5.0物联网IOT评估开发板产品级源码开放-淘宝网 (taobao.com)

TLSR8258方案开发之BLE协议接口代码解析的更多相关文章

  1. ArcGIS Engine开发之旅04---ARCGIS接口详细说明

    原文:ArcGIS Engine开发之旅04---ARCGIS接口详细说明 ArcGIS接口详细说明... 1 1.      IField接口(esriGeoDatabase)... 2 2.    ...

  2. Android开发之 Android应用程序详细解析

    我们继续的沿用上一篇所建立的应用. Android应用程序可以分为:应用程序源代码(.java),应用程序描述文件(.xml),各种资源. 可以这么理解: 安卓应用程序,通过java代码来实现其业务逻 ...

  3. android开发之http协议

    http协议学习系列 1. 基础概念篇 1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web C ...

  4. 【转】Unity3D开发之Http协议网络通信

    之前unity3d项目要做跟服务器通信的模块,然后服务器那边的协议是基于http的Jsonrpc通信方式一开始,用C#的本身类HttpWebRequest来提交请求,很快就在电脑上面成功了,代码也很简 ...

  5. Android开发之recycleView详解代码,看完包你熟练掌握recycleView的用法。转自网络经典文章

    来源 http://jinyudong.com/2014/11/13/Introduce-RecyclerView-%E4%B8%80/ 编辑推荐:稀土掘金,这是一个针对技术开发者的一个应用,你可以在 ...

  6. IOS开发之NSObject协议类方法说明

    oc中NSObject类是所有类的基类,所有类都要继承自它,那么它的方法就显得特别重要,因为所有类都会有这些基本的方法. 看看oc的源码中NSObject是这样定义的: @interface NSOb ...

  7. 具体解释EBS接口开发之WIP模块接口

    整体说明 文档目的 本文档针对WIP模块业务功能和接口进行分析和研究,对採用并发请求方式和调用API方式分别进行介绍 内容 WIP模块经常使用标准表简单介绍 WIP事物处理组成 WIP相关业务流程 W ...

  8. 安卓开发之mqtt协议

    首先物联网协议mqtt协议是基于tcp/ip协议的,使用了官方的mqttclient框架/**初始化mqttclient*/private void init() { try { //MQTT的连接设 ...

  9. 详解EBS接口开发之WIP模块接口

    总体说明 文档目的 本文档针对WIP模块业务功能和接口进行分析和研究,对采用并发请求方式和调用API方式分别进行介绍 内容 WIP模块常用标准表简介 WIP事物处理组成 WIP相关业务流程 WIP相关 ...

  10. phonegap移动开发之jsonp协议

    最近我一直在学习android开发.并且做了几个小软件,我会在百度网盘和二维码的形式分享出去!源码会分享到github上.下面我还是主要来说说jsonp协议吧.可能许多初学者会遇到许多跟我一样的问题. ...

随机推荐

  1. 佳翼M2X16 PCIE4.0X16转4盘M.2NVME固态硬盘 - 我的硬件配置

  2. (转)时代的见证:集成更新的Windows 7旗舰版、专业版镜像

    制作缘起:微软曾于2019年提供过两份内部集成更新的英文旗舰版.专业版镜像(参见:集成IE11+最新补丁:微软新版Windows 7镜像泄露),方便用户安装,缩短更新过程.经我们下载安装研究发现,这两 ...

  3. Mysql数据库迁移|如何把一台服务器的mysql数据库迁移到另一台服务器上的myql中

    前言 那么这里博主先安利一下一些干货满满的专栏啦! Linux专栏https://blog.csdn.net/yu_cblog/category_11786077.html?spm=1001.2014 ...

  4. 树莓派4B改造成云桌面客户端,连接DoraCloud免费版

    Raspberry Pi(树莓派) 是为学习计算机编程教育而设计的只有信用卡大小的微型电脑,自问世以来受众多计算机发烧友和创客的追捧,曾经一"派"难求. DoraCloud是一款多 ...

  5. CH9140,CH9141,CH9143异同点

    9140:是一款蓝牙转串口芯片,芯片支持蓝牙主从一体模式或从机模式,支持蓝牙 BLE4.2.串口波特率最高 1Mbps,支持 MODEM 联络信号,蓝牙主从模式可以自动连接或绑定. 智能配对功能 当 ...

  6. IIS的基本安装和配置

    实验介绍:IIS的作用 IIS是web服务器中常见的一种.当客户端想访问某个域名时,向web服务器发出请求.web服务器返回网页的代码做出回应.客户端解析代码生成网页. 一:安装IIS 1.打开一台w ...

  7. Linux zip常用命令

    1.将当前目录下的所有文件和文件夹全部压缩成myfile.zip内联代码块文件zip -r myfile.zip ./*-r表示递归压缩子目录下所有文件. 2.unzip把myfile.zip文件解压 ...

  8. pandas 用户数据分析

    import pandas as pd import numpy as np from matplotlib import pyplot as plt """ 第一部分: ...

  9. NC20960 迪拜的超市

    题目链接 题目 题目描述 forever97家住迪拜一环,因此有很多大大小小的商场. 迪拜一环有n个超市,分别在坐标轴[1,n]位置,forever97家在0这个位置. 由于日常开销巨大,所以Trot ...

  10. NC51216 花店橱窗

    题目链接 题目 题目描述 小q和他的老婆小z最近开了一家花店,他们准备把店里最好看的花都摆在橱窗里. 但是他们有很多花瓶,每个花瓶都具有各自的特点,因此,当各个花瓶中放入不同的花束时,会产生不同的美学 ...