蓝牙模块学习
月月爱猫粮
这个作者很懒,什么都没留下…
展开
-
初步了解蓝牙中的OSAL
一、概述 OSAL(Operating System Abstraction Layer),翻译为“操作系统抽象层”,OSAL就是以实现多任务为核心的系统资源管理机制。所以OSAL与标准的操作系统还是有很大的区别的。简单而言,OSAL实现了类似操作系统的某些功能,但并不能称之为真正意义上的操作系统。二、OSAL系统的初始化首先在main()中调用OSAL初始化函数Init_Osal()转载 2014-09-23 14:39:37 · 1202 阅读 · 0 评论 -
缩短蓝牙链路建立时间的快速连接方案
蓝牙技术已经大量在通信产品中得到应用,然而存在的一些技术细节限制了它的发展,其中一项就是建立蓝牙链路的时延过长。本文参考蓝牙SIG组织最新公布的协议,在详细分析建立蓝牙链路的时延的基础上,给出了两种快速建立蓝牙链路的方案,并对它们的性能进行了比较。蓝牙设备具有多种工作模式,它们可以根据各自所处的状态和下一步的需要选择合适的工作模式。在一个蓝牙网络(Piconet)建立之前,所有的设备都工作在待转载 2016-03-04 15:42:16 · 3010 阅读 · 0 评论 -
android 蓝牙各种UUID
ServiceDiscoveryServerServiceClassID_UUID = '{00001000-0000-1000-8000-00805F9B34FB}'BrowseGroupDescriptorServiceClassID_UUID = '{00001001-0000-1000-8000-00805F9B34FB}'PublicBrowseGroupServiceClass转载 2014-12-26 09:15:31 · 433 阅读 · 0 评论 -
蓝牙Profile的概念和常见种类(转)
蓝牙ProfileBluetooth的一个很重要特性,就是所有的Bluetooth产品都无须实现全部 的Bluetooth规范。为了更容易的保持Bluetooth设备之间的兼容,Bluetooth规范中定义了Profile。Profile定义了设备如何实现一种连接或者应用,你可以把Profile理解为连接层或者应用层协。在所有的Profile中,有四种是基本的Profile,这些P转载 2014-12-06 22:42:13 · 1290 阅读 · 0 评论 -
simpleBLECentral.C简单的翻译一下,方便编程,特此记录
/*BLE中的GAP和GATTGATT通俗理解为用于主从机之间的客户端和服务器端的数据交互,以Attribute Table来体现。//*GATT层:是一个服务框架定义了对ATT应用的子程序。GATT指定了profile的结构。//*在BLE中,由profile或者是服务所使用的所有类型的数据都称为characteristic。发生于两个设备间通过BLE连接进行交换的数据都需经过GATT子程原创 2014-10-29 09:42:47 · 3471 阅读 · 0 评论 -
simpleBLECentral.h为了编程方便,翻译后特此记录
#ifndef SIMPLEBLECENTRAL_H#define SIMPLEBLECENTRAL_H#ifdef __cplusplusextern "C"{#endif/********************************************************************* * 包含 *//**********************原创 2014-10-29 09:50:28 · 995 阅读 · 0 评论 -
浅析CC2540的OSAL原理
一概述 OSAL (Operating System Abstraction Layer),翻译为“操作系统抽象层”。OSAL就是一种支持多任务运行的系统资源分配机制。OSAL与标准的操作系统还是有很大的区别的。简单而言,OSAL实现了类似操作系统的某些功能,但并不能称之为真正意义上的操作系统。二、OSAL任务运行方式 我们以TI1.2.1的BLE协议栈中的Simpl转载 2014-10-09 08:11:07 · 576 阅读 · 0 评论 -
TI BLE协议栈软件框架分析
看源代码的时候,一般都是从整个代码的入口处开始,TI BLE 协议栈源码也不例外。它的入口main()函数就是整个程序的入口,由系统上电时自动调用。 它主要做了以下几件事情:(一)底层硬件初始化配置(二)创建任务并初始化任务配置(三)检测并执行有效的任务事件 Main() 函数源码如下:转载 2014-09-28 09:16:59 · 924 阅读 · 0 评论 -
OSAL调度机制
摘要:1、任务调度:osal采用一个链表结构来管理协议栈各层相应任务。相关操作函数有,添加任务到链表中;获取下一个活动任务;根据taskID查找下一个任务。osal采用轮询任务调度队列(任务链表),通过两个函数:调度程序主循环函数和设置事件发生标志函数。2、时间管理:通过为事件设置超时等待时间,一旦等待时间结束,便为对应任务设置事件发生标志,从而达到对事件进行延时处理目的。3、原语通信转载 2014-09-27 10:23:43 · 2960 阅读 · 0 评论 -
蓝牙4.0BLE介绍
蓝牙4.0BLE介绍(2014-07-22 蓝牙4.0支持的角色有:广播者(BroadCaster)——广告发送者,不是可连接的设备观察者(Observer)——扫描广告,不能够启动连接外围设备(Peripheral)——广告发送者,是可连接的设备,在单一链路层连接时作为一个从机中央设备(Center)——扫描广告启动连接,在单一或者多链路层连接时作为主机,支持三个转载 2014-09-25 11:28:02 · 828 阅读 · 0 评论 -
osal_start_timerEx 函数分析
学习Zigbee时,经常用到osal_start_timerEx函数来周期性产生某一事件,本文就来分析一下该函数:/********************************************************************* * @fn osal_start_timerEx * * @brief * * This function转载 2014-09-27 11:01:21 · 8758 阅读 · 3 评论 -
OSAL系统框架专题
OSAL系统框架专题2010-4-15 2:47:09. TI协议栈所用系统框架探讨。51的系统往往不是太大,但是几十K的程序,也足以让一个初学者望而却步。我们首先忽略C语言本身的难度,光是系统框架也让生手读起来很吃力,再加上这种到处是API跟"define"的程序,还没有正式学习协议部分就已经让人在丛林中“迷路”了。在接下来的一段时间内,我会以TI所用的系统框架为主线进行学习,希转载 2014-09-26 16:25:40 · 601 阅读 · 0 评论 -
nRF51822 LRC(32.768K) 内部RC和外部晶振的设置 (转)
需要修改设置地方:1. SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_XTAL_20_PPM, false); 一般在main.C的 ble_stack_init(void)函数中调用;2. NRF_CLOCK->LFCLKSRC = (CLOCK_LFCLKSRC_SRC_Xtalser_app_hal_n转载 2016-05-24 11:19:53 · 8768 阅读 · 1 评论