- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ti CC2540
Ti CC2540 蓝牙模块学习笔记整理
Ti CC2540 蓝牙模块学习笔记整理接触 CC2540 几天,
终于有了初步的理解,现将笔记整理如下,只是皮毛,如有 错误,还请指正,还有好多没闹明白的地方,以后应该还会 继续向里面更新 ~一、整体 1.TI 的蓝牙平台支持 2 种协议栈 /
应用配置:单一设备配置、网络处理器配置 2.协议栈最顶层 2 个通用 profile : GAP 通用访问配置文件层 Generic Access
ProfileGATT 通用属性配置文件层 Generic Attribute Profile3.
GAP:
GAP:处理设备的接入方式及接入过程:①设备发现
②链
路建立 ③链路终止 ④启动安全功能 ⑤设备配置(主要是
3 个通道连接参数配置)GATT :完成服务器与客户端之间通信的相 关子过程 4.BLE 支持 40
3 个通道
用于Advertise,剩下的用于数据通信 5.0S抽象层:疑问 如 何配置一个新的任务,任务的优先级,事件触发机制,消息 的传递 6.主要用于实现的是 2 个代码文件:
OSAL_SimpleBLEPeripheral.c 任务回调函数数据的定义 和 任务初始化函数定义 作为 OSAL 的外部全局变量
SimpleBLEPeripheral.c BLE 应用程序的实现代码,该源文件 调用一系列的 BLE API 函数,完成复杂的蓝牙协议通过
const pTaskEventHandleFn tasksArr[] 数组来存储要调用的函 数 simpleBLEPeripheral.h 一些常量的定义, 和蓝牙应用程序
任务初始化和任务回调函数声明。 7.LL 层任务函数优先级 最高, 而应用程序函数的优先级最低 8.OSAL 为每个任务分 配了 1个16位的Event,每一位代表一个事件,最高位代表
SYS_EVENT_MSG ,这个事件被 OSAL 系统保留 9.main() 函 数中最后进入的 void osal_run_system( void ) ,这个函数就是 看相应任务有没有事件发生,有时间发生就跳转到相应的函
数 10.任务间通信,一般通过 事件 和 消息 进行,每当任 务间有消息传递,都会触发 SYS_EVENT_MSG 事件,并且
每次处理完事件后,都要清空标志位。 osal_set_event()
OSAL.h 中 该函数会直接调度一个事件
OSAL.h 中 该函数会直接调度一个事件
osal_start_timerEx()
OSAL_Timers.h 中 需要掩饰触发的事件,调用这个函数
、OSAL11.HeaP Manager(堆栈管理),函数 osal_mem_alloc
、OSAL
分配需要的字节数,osal_mem_free()用来释放内存。
操作系统抽象层 Operate System Abstraction Layer )
1.0SAL中的消息:发送消息前,用 osal_msg_allocate()函数
分配内存空间,填充数据,调用 osal_msg_send()将消息发送
到指定的函数中去。然后置位该函数的 SYS_EVENT_MSG , 然后接收端使用osal_mem_receive()将消息接收过来,接收完 成后,使用osal_mem_deallocate()函数来回收当前消息所占 用的内存。 OSAL 推荐在任务中使用独立的消息接收函数来 处理消息,例如: simPleBLEPeriPheral_ProcessOSALMsg()
函数。 2.GAP (通用访问配置文件层 Generic Access Profile )
连接过程:①设备发现 ②链路建立③链路终止④启动安
全功能 ⑤设备配置(主要是连接参数配置) GAP层总是工
作在以下角色中的 1 种: Broadcaster 广播员,表明我在,但 是你们只能看到我, 不可以连接我 Observer 观察者, 看看谁
在,我只观察,不连接 Peripheral 外设,我存在,设想连我,
我就连谁 Centeral
我就连谁 Centeral
中心,看看谁在,工作在单层或多层的连
接 3.连接过程: Peripheral 向外广播 -Centeral 接收到向从机 发送“ Scan” 命令-Peripheral 以“ ScanResp” 命令回应
-Centeral 发送连接请求 4.Connect Interval 通信间隙 每个 间隔1.25ms为基本单位,最小 6单位7.5mS,最大3200单
位4.0S。5.Slave Latency从机延时 表示Peripheral可以连续
忽略的连接数,最大不能超过 499
忽略的连接数,最大不能超过 49
原创力文档


文档评论(0)