BLE_CC2540_初学者入门指导作者xiangzhang4发表于2014一、初识BLE通过这两天对《CC2540BLESoftwareDeveloperGuiderV1.2.pdf》的学习对CC2540以及蓝牙4.0有了一个整体上的认识:1、蓝牙4.0协议:BR/EDR(标准蓝牙)+BLE,目前CC2540硬件只支持BLE这种单模无线标准,不能够与4.0以前的版本通信。2、针对CC2540BLE-Stack重点学习了该协议栈的结构,TI的蓝牙平台支持两种协议栈/应用配置:单一设备配置、网络处理器配置(application/profile在另外的处理器或者PC上的应用)。3、重点学习了协议栈最顶层的两个通用profile:GAP(通用接入规范)、GATT(通用属性规范)。4、GAP主要负责处理设备的接入方式以及接入的过程:设备发现、链路建立、链路终止、启动安全功能、设备配置(主要是连接参数的配置)。5、GATT主要完成服务器和客户端之间通信的相关子过程。6、BLE支持40个通道的跳频机制,其中3个通道用于advertise,剩下的用于数据通信;而BR的通道数在80,相比而言BLE的机制更加节电。两者的跳频偏移分别为2MHz、1MHz。7、OS抽象层相关过程学习,如何配置一个新的任务、任务优先级、事件触发、消息传递等。8、存在的问题:搞不清楚BLE协议内部的GAP、GATTprofile与applicationprofile的联系与区别,是否BLE能够在app上添加:A2DP(蓝牙立体声音讯传输协议)、HID(人机界面规范)等这些规范。二、开始了解stack进一步学习GAP,主要扮演四种角色:broadcaster(广播者)、obseerver(观察者)、peripheral(外围)、central(中央)。1、BLE-Stack中有每一种角色的Sample程序,且正对不同的示例程序对应的lib也不相同,eg:CC2540_ble_single_chip_peri.lib、CC2540_ble_network_processor_all.lib等。2、对于应用程序的profile需要按照规范自己编写,目前ti提供几个医疗上使用的profile,对于文件传输、音频传输等profile,我的理解是BLE不适用于这些场合(参考wiki网上一些话题讨论、BLE_TechDay_2011.pdf、BLE_CC2540_DeepDive_Training_2011.pdf来源于wiki网)。我理解的classic就是传统的那种蓝牙应用,BLE的应用主要是用于第一幅图。BLE目前一个数据包支持的最大字节数为20Byte,基本上都是几个字节的应用,ti例程。3、在wiki网上找到一个相关的例子:SerialApp通过串口实现两台PC之间的数据传输,打算从这个例子入手,在转向USB的,初步看了一下这个SerialApp,在该页上能够下载一个HCITester的脚本测试工具,并不是直接通过两个串口实现数...