完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本节呢,我想跟大家介绍一下BLE协议栈,这一节也就是入门级的知识点吧,适合小白们看一下呦。
首先呢,我先介绍一下什么事BLE协议栈,协议定义的是一系列的通信标准,通信双方需要共同按照这一标准进行正常的数据收发;协议栈是协议的具体实现形式,通俗的理解就是代码实现的函数库,以便开发人员调用。 BLE协议栈是将各层定义的协议都集合在一起,以函数库的形式实现,同时提供给用户一些应用层API,供用户调用。 关于BLE协议栈的开发思路我们可以概括为如下三点:
在这个目录(components)下,存放的是TI蓝牙4.0的协议栈组件,包括底层的BLE,还有开发板硬件层hal,还有类似操作系统的osal。我们重点关注的是hal和osal,其中,hal是硬件抽象层的意思,osal可以理解成操作系统。 在目录documents下,存放的是TI提供的关于协议栈和协议栈demo的相关介绍和开发文档,该目录下的文件非常重要请仔细阅读。 目录projectsBLE也是重要的目录,协议栈的每个例程都 不是单独存在的,蓝牙是为了能够通信,想要通信就必须遵守一定的规则, Profile 就可以理解为相互约定的规则,因为每个协议栈demo 都会有一个Profile 与之对应,我们这里的SimpleBLExxx 对应的就是simpleGATTprofile,大多数profile 都是蓝牙组织SIG 规定好的,但是,如果我们的项目不涉及到跟第三方的设备进行互联, 那么我们完全可以自定义profile , 例如, TI 的SimpleBLEPeripheral 从机和SimpleBLECentral主机工程, 就是自定义的profile ,0xfff1~0xfff5。 |
|
|
|
只有小组成员才能发言,加入小组>>
3310 浏览 9 评论
2991 浏览 16 评论
3492 浏览 1 评论
9057 浏览 16 评论
4086 浏览 18 评论
1175浏览 3评论
603浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
596浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2333浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1894浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 10:21 , Processed in 1.274442 second(s), Total 77, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号