CC2541
卡图卢斯
These violent delights have violent ends;
展开
-
【BLE】-CC2451 协议栈相关函数解析
1. _ltoa函数描述:将long的类型的数据l,按照radix的格式(16进制或者10进制的格式)转换成字符串存到数据buf[n]中。/********************************************************************* * @fn _ltoa * * @brief * * convert a long unsigne原创 2016-09-22 18:13:02 · 3233 阅读 · 0 评论 -
【蓝牙】Apple Notification Center Service (ANCS) Specification
参考链接:Apple Notification Center Service (ANCS) Specification 提示:参考链接需要用VPN外网才能打开链接介绍(Introduction)原文: The purpose of the Apple Notification Center Service (ANCS) is to give Bluetooth accessories (that原创 2016-12-12 11:56:33 · 3163 阅读 · 0 评论 -
【CC2541】CC2541之HAL层KEY分析
CC2541之HAL层KEY分析在CC2541BLE协议栈中,KEY测试是由HAL层来进行抽象和管理的。关于按键的的测试代码和配置主要集中在hal_drivers.c 、hal_drivers.h 、hal_key.c、hal_key.h、hal_board_cfg.h几个文件中。原创 2016-12-23 14:06:58 · 2378 阅读 · 0 评论 -
【C】do{}while、do{}while(false)、do{}while(__LINE__==-1)使用分析
参考链接:链接原文do{}while(0)do{}while(false)do{}while(__LINE__==-1)上述代码是等价的,其中__line__含义就是,它代表当前代码在源文件的行号,它是大于0的。转载 2016-12-24 18:17:35 · 1450 阅读 · 0 评论 -
【BLE】iBeacon实例化实验
第一步:服务提供者向云端(数据服务器)申请服务,数据服务器生成一个iBeacon id,并将其映射到服务提供者提供的服务,再将iBeacon id告诉服务提供者; 第二步:服务提供者把第一步拿到的iBeacon id设置到iBeacon设备上,让iBeacon设备广播该iBeacon id; 第三步:用户在该iBeacon设备的信号范围内打开相应App,App获取到该iBeacon id; 第四步:App通过第原创 2017-02-28 14:22:05 · 857 阅读 · 0 评论 -
低功耗蓝牙开发权威指南第一部分-综述
第一章:什么是低功耗蓝牙技术1.1设备类型1.2设计目标1.3术语第二章:基本概念2.1纽扣电池2.2时间即能量2.3昂贵的内存2.4非对称涉及2.5为成功而涉及2.6凡是皆有状态2.7客户端-服务器架构2.8模块化架构2.9十亿只是个小数目2.10无连接模型2.11范式2.11.1客户端-服务器架构2.11.2面向服务的架构第三章:低功耗蓝牙的体系结构3.1控制器3.1.1物理层3.1.2直接测试原创 2016-09-27 09:55:20 · 5877 阅读 · 1 评论 -
【BLE】CC2541连接之配对与绑定实验
CC2541连接之配对与绑定实验原创 2017-02-23 10:07:30 · 3231 阅读 · 0 评论 -
【CC2541】BLE空中升级——新旧固件(imagA与imageB)的链接文件分析
参考链接:BLE空中升级-新旧固件(imagA与imageB)的链接文件分析一、cc254x_f256_imgA.xcl分析1、段的定义(1)IDATA段空间范围定义a.定义IDATA的起始地址为0x0A-D_IDATA_BEG=0x0Ab.定义IDATA的结束地址为0xFF-D_IDATA_END=0xFF注意:跟bim_cc254x.xcl相比,IDATA的起始地址变成了0x0A,将0x08-0转载 2016-12-13 12:19:22 · 4606 阅读 · 0 评论 -
【BLE】CC2541加密与解密实验
CC2541加密与解密原创 2017-03-23 17:54:48 · 1392 阅读 · 0 评论 -
【工具】Error[e16]: Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition.
参考链接: 厉害了,我是连接,快点我问题: IAR For 8051 9.20.2点击低版本的IAR for 8051 7.40的Project时候,会出现以下问题。现象: Error[e16]: Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition. At least 0x7 more bytes ne原创 2017-05-09 17:47:27 · 3764 阅读 · 0 评论 -
【CC2541】CC2541作为Central设备代码流程分析
CC2541作为主设备,系统代码流程分析:SimpleBLECentral_ProcessEvent()的分析;GAPCentralRole_ProcessEvent()的分析;GAPBondMgr_ProcessEvent()的分析;原创 2017-06-09 09:48:50 · 1698 阅读 · 0 评论 -
【BLE】peripheral设备如何获取central设备的PublicAddr
参考:参考链接这得取决于central 设备。 如果central设备本身用的是public 地址的话,那么你得到的肯定就是public 地址。如果用的是random 的话,那么你每次得到都会不一样。比如说iOS 设备,用的就是random地址。你可以试一下Android 设备。 Not signed i转载 2017-02-25 15:22:01 · 673 阅读 · 0 评论 -
【BLE】-CC2541 ZBIT、UBIT、UBIT2是什么
TI论坛解释:”ZBIT is a compile option that is used for TI internal testing and is not defined by default.“ZBIT是一个编译选项,用于TI内部测试和在默认情况下是没有定义的。原创 2016-09-22 17:16:26 · 1350 阅读 · 0 评论 -
【BLE】CC2541低功耗测试-系统运行篇
1.osal_pwrmgr_powerconserve描述: osal_pwrmgr_powerconserve()函数低功耗具体的处理函数,可以发现要想支持此功能,必须首先包含POWER_SAVING这个宏。细心的同学发现系统死循环后面会一直调用这个函数。每次调用都会检测Timeout在个Timer事件中的Timeout最小值,比如系统1ms轮训检查Timer是否需要处理,按键事件的Timeout原创 2017-12-02 10:21:00 · 1489 阅读 · 0 评论 -
【BLE】CC2541实时更新广播包advertData内容
advertData[]是广播包数据。实时更新广播包的API:extern bStatus_t GAP_UpdateAdvertisingData( uint8 taskID, uint8 adType, uint8 dataLen, uint8 *pAdvertData );参数说明: taskID: task ID of the app requesting the change adT原创 2016-11-22 20:19:41 · 2294 阅读 · 0 评论 -
【BLE】CC2541安卓手机搜索不到设备服务的UUID
现象: 在做OAD无线升级处理的时候遇到一个问题,从imageA状态升级到imageB状态,但是安卓的设备扫描的服务的UUID都没有发生变化(imageA服务的UUID和imageB服务的UUID不同),安卓设备扫描的服务的UUID还是原来的升级前imageA的服务UUID的状态,这样就导致了,我无法进行命令发送读写。(iOS设备不存在这样的问题),个人猜测是安卓设备本身对蓝牙搜素直接通过判断是否原创 2016-10-15 14:29:21 · 4168 阅读 · 0 评论 -
【BLE】-CC2541 OTA 程序开发手册介绍
1.目的使开发者能够快速的使用TI BLE 协议栈在CC2541 的SOC上进行TI OAD Profile 功能的开发。2.功能概要BLE 协议栈有一个可拓展的特性 OAD,它提供了一种增值服务通过访问编程头的方式并且无需访问物理内存来更新部署设备的代码。OAD是一种客户端-服务器端机制,一个设备作为OAD镜像服务器端(OAD manager),另一个设备作为OAD镜像的客户端(OAD Clien原创 2016-10-08 10:56:26 · 3896 阅读 · 0 评论 -
【BLE】CC2541 imageA GATT添加自定义UUID实例
1原创 2016-10-10 20:03:16 · 1465 阅读 · 0 评论 -
【BLE】CC2541 低功耗蓝牙16bit的UUID与128bit的UUID有什么区别
1. UUID是universally unique identifier的简称,它的值固定为128bit。 2.但是为了降低存储和传输的负担,我们预分配一些常用的UUID的值,比如Bluetooth_Base_UUID的值是00000000-0000-1000-8000-00805F9B34FB。通常预分配的值都是16bit或者32bit的UUID。但是实际上,它们还是128bit的值。 3.原创 2016-10-11 09:40:32 · 4879 阅读 · 0 评论 -
【BLE】CC2541获取设备的MAC地址实验
安卓调试工具扫描时直接显示就是MAC地址。 苹果设备是以UUID的方式显示。 所以我们直接用安卓设备来测试。我们连接时可以知道主机的地址。 变量是gapRole_ConnectedDevAddr,可以在peripherial.c里搜索GAP_LINK_ESTABLISHED_EVENT事件的处理。static void gapRole_ProcessGAPMsg( gapEventHdr_t原创 2016-10-11 16:45:30 · 3068 阅读 · 0 评论 -
【BLE】-CC2541 HAL层控制LED的实验
void HalLedInit (void){#if (HAL_LED == TRUE) HalLedSet(HAL_LED_ALL, HAL_LED_MODE_OFF); // Initialize all LEDs to OFF. // Set LED GPIOs to outputs. LED1_DDR |= LED1_BV;#if (!defined HAL_PA_LNA原创 2016-09-25 20:03:00 · 4750 阅读 · 1 评论 -
【BLE】-CC2541 GAP API 介绍
1原创 2016-09-26 21:53:28 · 803 阅读 · 0 评论 -
【BLE】-OTA升级(转)
第一步:OTA升级原理解释TI官方WIKI详细介绍 http://processors.wiki.ti.com/index.php/OAD 第一步:红色方框1Boot就像PC的BIOS,负责选择要运行的Image,是Image-A,还是Image-B.就像PC装了双系统,选择启动哪一个系统。Boot程序需要额外烧录。 第二步:红色方框 2Boot会首先判断Image-B是否存在,如果存在转载 2016-10-10 10:00:13 · 3212 阅读 · 0 评论 -
【BLE】-CC2541 OSAL操作系统抽象层应用程序接口API介绍
1.简介1.1目的本文档的目的是定义OS抽象层(OSAL)的API。这个API试用于的TI协议栈软件组的产品,例如Z-堆栈™,的RemoTI™和BLE,可以独立于操作系统的具体的书面,内核或任务环境(including control loops or connect-to-interrupt systems)。1.2适用范围该文件列举了由OSAL提供的所有函数调用。足够详细地指定的函数调用,允许码原创 2016-09-23 12:46:43 · 4710 阅读 · 1 评论 -
【BLE】attDevice Name 与 Local Name的区别
Local name其实取决你的scanRspdata。 而搜索显示的名字由attDeviceName 决定。安卓设备中: 搜索显示的名字,是scanRspdata的Local name;iOS设备中: 搜索显示的名字,是attDeviceName(没有建立连接无法读取attDeviceName,所以说会出现改完attDeviceName参数,但是lightblue搜素的还显示保留修改之前的名原创 2016-11-16 18:03:28 · 5703 阅读 · 0 评论 -
SmartRF Packet Sniffer使用手册
1.介绍1.1硬件平台1.2协议1.3数据流程1.4软件2.用户界面2.1启动窗口2.2 Packet Sniffer 一个经常活跃的窗口2.3菜单和工具栏2.4安装2.5可选区域2.6数据包细节2.7地址区2.8显示器2.9时间轴2.10无线设置3.抓包格式保存到文件**4.CC2510 和 CC1110 Sniffers“无线设置原创 2016-11-11 16:47:33 · 13491 阅读 · 0 评论 -
【传感器】AT24C128 EEPROM
AT24C128 EEPROM原创 2016-11-30 18:26:29 · 8344 阅读 · 1 评论 -
【BLE】-CC2541低功耗测试实验-芯片验证篇
通过查看芯片手册cc2541的电气特性表,cc2541低功耗(LowPower)有三种状态:PowerMode1(简称:PM1)、PowerMode2(简称:PM2)、PowerMode3(简称:PM3)。本实验是要验证CC2541芯片在三种不同的状态下负载电流值大小,所以说,我会在系统上电后直接配置完所有PIN脚状态以及相应的模式,然后,观察电流表电流值的变化。原创 2016-09-18 15:24:35 · 7368 阅读 · 1 评论 -
【CC2541】CC2541蓝牙广播关闭不成功总结
最近在进行 CC2541蓝牙广播关闭操作会出现关闭广播不成功现象,主要操作需要注意两个问题:在进行开关操作的API函数操作的时候,每次进行开关操作在系统内部实际上是按照任务的方式处理的,每一个任务处理都需要时间处理,所以代码中切记不要出现【执行完关操作后,又立马执行开操作】或者【执行完开操作后,又立马执行操作】在我的实际产品设计,需要做低功耗的设计,其中对广播的做低功耗的处理,有两种方式可...原创 2018-02-12 00:17:59 · 1578 阅读 · 0 评论