cc2541有没有定位蓝牙4.0服务uuid的uuid

温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
——APP部分,Application部分放着更应用相关的文件。——HAL部分,Hardware abstract layer部分放的是跟处理器外设相关的文件。——NPI部分,Network Proccessor Interface部分是介于APP与HAL之间的相关部分。——OSAL部分,Operational system Abstract layer部分放的是这个抽象操作系统的文件。——BLEStack部分,这部分专门存放跟BLE协议栈相关的文件。——Profiles部分,这部分存放着跟具体应用所需要的相关BLE配置文件。——Project部分,这个部分放着的项目工程相关的文件。 可以根据上面的分类开始新建我们的工程了。1、新建文件夹,取名为BLE Peripheral,并在这个目录下新建7个文件夹,分别取名为:APP、BLEStack、HAL、NPI、OSAL、Profiles、Project,如下图所示:&&2、进入APP文件夹,并在这个目录下新建两个名为Source与Include的文件夹,如下:将BLE协议栈安装位置处BLE-CC254x-1.3.2\Projects\ble\common\cc2540目录下的OnBoard.c与OnBoard.h分别拷贝到APP目录下的Source与Include目录下。将协议栈目录BLE-CC254x-1.3.2\Projects\ble\SimpleBLEPeripheral\Source下的OSAL_SimpleBLEPeripheral.c、simpleBLEPeripheral.c、SimpleBLEPeripheral_Main.c拷贝到APP下Source.h中,将BLE-CC254x-1.3.2\Projects\ble\SimpleBLEPeripheral\Source目录下的simpleBLEPeripheral.h拷贝到APP下的Include中。 可以看到APP目录下的Source与Include下分别有下面的文件:&&3、进入BlEStack目录下,并在这个目录下新建两个名为Include与Libraries的文件夹。 在Include目录下还需要再新建Controller与Host的文件夹,如下:将BLE-CC254x-1.3.2\Components\ble\controller\include下的全部文件拷贝到这个Controller目录下。将BLE-CC254x-1.3.2\Components\ble\hci下的全部文件拷贝到这个Controller目录下。将BLE-CC254x-1.3.2\Components\ble\include下的hci.h文件也拷贝到Controller中。这样Controller目录下存放着下面文件:将BLE-CC254x-1.3.2\Components\ble\include目录下除hci.c文件外的全部文件都拷贝到Host目录下。将BLE-CC254x-1.3.2\Components\ble\host目录下的linkdb.h文件拷贝到Host目录下。将BLE-CC254x-1.3.2\Projects\ble\Include下的全部文件:gapgattserver.h与gattservapp.h拷贝到Host目录下。这样Host目录下存放着下面10个H文件:& 在Libraries目录下新建CC2540DB、CC2541DB、Common三个文件夹,如下:&将BLE-CC254x-1.3.2\Projects\ble\Libraries\CC2540DB\bin下所有.lib文件全部拷贝到这里的CC2540DB目录下。将BLE-CC254x-1.3.2\Projects\ble\Libraries\CC2541DB\bin下所有.lib文件全部拷贝到这里的CC2541DB目录下。将BLE-CC254x-1.3.2\Projects\ble\Libraries\Common\bin下的所有.lib文件全部拷贝到这里的Common目录下。这样CC2540DB、CC2541DB、Common目下分别有下面的文件:4、进入HAL目录,然后在这个目录下新建3个文件夹:Source、Include、Target,如下所示:&将BLE-CC254x-1.3.2\Components\hal\common下的全部文件拷贝到这个Source目录下,如下:将BLE-CC254x-1.3.2\Components\hal\include下的全部文件拷贝到这个Include文件中,如下:& Target目录下还需要新建4个文件夹,分别取名为:CC2540EB、CC2540USB、CC2541ARC、CC2541ST。然后分别在这4个目录下新建Source与Include两个文件夹:将BLE-CC254x-1.3.2\Components\hal\target\CC2540EB下的全部.c文件全部拷贝到CC2540EB\Source下。将BLE-CC254x-1.3.2\Components\hal\target\CC2540EB下的全部.h文件全部拷贝到CC2540EB\Include下。这样CC2540EB的Source与Include目录分别存放着下面的文件:将BLE-CC254x-1.3.2\Components\hal\target\CC2540USB下的全部.c文件全部拷贝到CC2540USB\Source下。将BLE-CC254x-1.3.2\Components\hal\target\CC2540USB下的全部.h文件全部拷贝到CC2540USB\Include下。将BLE-CC254x-1.3.2\Components\hal\target\CC2540USB下的文件usb拷贝到CC2540USB\Include下。这样CC2540USB的Source与Include目录分别存放着下面的文件:将BLE-CC254x-1.3.2\Components\hal\target\CC2541ARC下的全部.c文件全部拷贝到CC2541ARC\Source下。将BLE-CC254x-1.3.2\Components\hal\target\CC2541ARC下的全部.h文件全部拷贝到CC2541ARC\Include下。这样CC2541ARC的Source与Include目录分别存放着下面的文件:将BLE-CC254x-1.3.2\Components\hal\target\CC2541ST下的全部.c文件全部拷贝到CC2541ST\Source下。将BLE-CC254x-1.3.2\Components\hal\target\CC2541ST下的全部.h文件全部拷贝到CC2541ST\Include下。这样CC2541ST的Source与Include目录分别存放着下面的文件:&&5、进入NPI目录,并在这个目录下新建Source与Include下,如下:将BLE-CC254x-1.3.2\Projects\ble\common\npi\npi_np下的npi.c拷贝到NPI\Source下。将BLE-CC254x-1.3.2\Projects\ble\common\npi\npi_np下的npi.h拷贝到NPI\Include下。6、进入OSAL目录下,并在这个目录下新建Source与Include文件,如下:将BLE-CC254x-1.3.2\Components\osal\common下的全部文件拷贝到OSAL\source下。将BLE-CC254x-1.3.2\Components\osal\mcu\cc2540下的osal_svn.c文件拷贝到OSAL\Source下。将BLE-CC254x-1.3.2\Components\osal\include下的全部文件拷贝到OSAL\Include下。这样OSAL下的Source与Include的文件如下:&7、进入Profiles目录下,将BLE-CC254x-1.3.2\Projects\ble\Profiles下的全部文件文件拷贝到Profiles目录下,在上面的每个目录下新建Source与Include,并将对应的.c文件拷贝到Source选,.h拷贝到Include下。其中Roles还需要添加其他文件,把协议栈目录BLE-CC254x-1.3.2\Components\ble\host下gatt_uuid.c拷贝到这里的Roles\Source。8、进入Project目录下,新建Config与LinkerConfig两个文件,如下:&将BLE-CC254x-1.3.2\Projects\ble\config下的全部.cfg文件拷贝到Config文件中,如下:&将BLE-CC254x-1.3.2\Projects\ble\common\cc2540目录下的全部的.xcl的文件拷贝到LinkerConfig中,如下:&9、打开IAR软件,点击Project-&Create New Project,然后会跳出一个框,选择OK,接着给项目取名,保存在项目文件的Project目录下。&&&10、在工程下,添加组(右键-&Add Group),最终建成的项目组布局如下:&&&11、往各个项目组中添加工程文件(右键-&Add files)。将BLE Peripheral\APP\Include下的全部文件添加到工程组APP下的Include中。将BLE Peripheral\APP\Source下的全部文件添加到工程组APP下的Source中。如下:将BLE Peripheral\BLEStack\Include\Controller下的全部文件添加到Include下的Controller。将BLE Peripheral\BLEStack\Include\Host下的全部文件添加到Include下的Host。将BLE Peripheral\BLEStack\Libraries\CC2541DB目录下的CC2541_BLE_peri.lib添加到Libraries中。将D:\BLE Peripheral\BLEStack\Libraries\Common目录下的CC2541x_BLE_TCL_TTL_None.lib添加到Libraries中。将BLE Peripheral\HAL\Include目录下全部文件添加到HAL工程组下的Include中。将BLE Peripheral\HAL\Source目录下全部文件添加到HAL工程组下的Source中。将BLE Peripheral\HAL\Target\CC2540EB\Include下的全部文件添加到HAL下的Target下的CC2540EB下的Include中。将BLE Peripheral\HAL\Target\CC2540EB\Include下除_hal_uart_dma.c、_hal_uart_isr.c、_hal_uart_spi.c以外的全部文件添加到HAL下的Target下的CC2540EB下的Include中。将BLE Peripheral\NPI\Include下的文件添加到NPI下的Include中。将BLE Peripheral\NPI\Source下的文件添加到NPI下的Source中。将BLE Peripheral\OSAL\Include下的全部文件添加到OSAL工程组下的Include中。将BLE Peripheral\OSAL\Source下的全部文件添加到OSAL工程组下的Source中。将BLE Peripheral\Profiles\DevInfo\Include下的devinfoservice.h添加到Profiles工程下的Include中。将BLE Peripheral\Profiles\DevInfo\Source下的devinfoservice.c添加到Profiles工程下的Source中。将BLE Peripheral\Profiles\Roles\Include下的gapbondmgr.h与peripheral.h两个文件添加到Profiles下的Include中。将BLE Peripheral\Profiles\Roles\Source下的gap.c、gapboundmgr.c、gatt_uuid.c、periphreal.c添加到Profiles下的Source中。将BLE Peripheral\Profiles\SimpleProfile\Include下的simpleGATTprofile.h添加到Profiles下的Include中。将BLE Peripheral\Profiles\SimpleProfile\Source下的simpeGATTprofile.c添加到Profiles下的Source中。将BLE Peripheral\Project\Config下的buildComponents.cfg与buildConfig.cfg文件添加到工程组ProjConfig中。&12、配置工程,点击Project-&Options。进入General Options-&Target选项界面,Device选择Texas Instruments的CC;Numer of virture选择为16;Location for constants and str选择ROM mapped as data。&进入General Options-&Stack/heap选项界面,设置Stack size与Heap sizes,如下:&进入C/C++ Compiler-&Optimizations,设置优化选项,这里选择Hight下的size,表示高等级的大小优化,如下:进图C/C++ Compiler-&Proceessor预处理选项界面,设置包含路径与一些宏定义。在Additional include directories下添加包含路径如下:$PROJ_DIR$\..\APP\Include$PROJ_DIR$\..\BLEStack\Include\Controller$PROJ_DIR$\..\BLEStack\Include\Host$PROJ_DIR$\..\HAL\Include$PROJ_DIR$\..\HAL\Target\CC2540EB\Include$PROJ_DIR$\..\NPI\Include$PROJ_DIR$\..\OSAL\Include$PROJ_DIR$\..\Profiles\Devinfo\Include$PROJ_DIR$\..\Profiles\Roles\Include$PROJ_DIR$\..\Profiles\SimpleProfile\Include其中$PROJ_DIR$表示工程文件所在的目录。在Defined symbols下的添加一些宏定义,如下:INT_HEAP_LEN=3072HALNODEBUGOSAL_CBTIMER_NUM_TASKS=1HAL_AES_DMA=TRUEHAL_DMA=TRUExPOWER_SAVINGxPLUS_BROADCASTERHAL_LCD=TRUE&进入C/C++ Compiler-&Extral Options下,选上Use command line options,并在下面添加命令如下:-f $PROJ_DIR$\config\buildComponents.cfg-f $PROJ_DIR$\config\buildConfig.cfg其中后面的两个.cfg已将在工程文件中了。&进入Linker-&Config,选择连接配置文件,勾上Override default选择项,然后选择公曾目录BLE Peripheral\Project\LinkerConfig下的ti_51ew_cc2540b.xcl文件。&进入Linker-&Output,勾上Override default,并勾上Allow CC-SPY-.....。&进入Linker-&Extra output下,设置需要额外生成的文件,勾上Generate extra output file和Overide default,并设置生成BLEPeripheral.hex文件。在format一栏选着Output format为intel-extended。&进入linker-&list,勾上Generate linker listing。进入Debugger-setup,选择仿真器为texal Instruments,并勾上Device Description file下的Override default.进入Texas Instruments-&Download,将Erase flash选上。13、文件的修改打开buildConfig.cfg文件,将里面的内容修改成如下:// BLE Host Build Configurations//-DHOST_CONFIG=BROADCASTER_CFG//-DHOST_CONFIG=OBSERVER_CFG-DHOST_CONFIG=PERIPHERAL_CFG//-DHOST_CONFIG=CENTRAL_CFG//-DHOST_CONFIG=BROADCASTER_CFG+OBSERVER_CFG//-DHOST_CONFIG=PERIPHERAL_CFG+OBSERVER_CFG//-DHOST_CONFIG=CENTRAL_CFG+BROADCASTER_CFG//-DHOST_CONFIG=PERIPHERAL_CFG+CENTRAL_CFG// GATT Database being off chip//-DGATT_DB_OFF_CHIP// GAP Privacy Feature//-DGAP_PRIVACY-DGAP_PRIVACY_RECONNECT// Include GAP Bond Manager//-DGAP_BOND_MGR// CC2541 Device-DCC2541// OAD Target Configuration Parameters// OAD Image Version (0xFFF)-DOAD_IMAGE_VERSION=0x0000// OAD User IDs-DOAD_IMAGE_A_USER_ID="'A', 'A', 'A', 'A'"-DOAD_IMAGE_B_USER_ID="'B', 'B', 'B', 'B'"最重要的是将-DHOST_CONFIG=PERIPHERAL_CFG与-DCC2541两个选项没有屏蔽掉。14、编译工程 编译器会先提示你保存项目,取名为BLEPeriperal,完后点击OK,编译器开始编译,如果成功则会出现0警告,0错误字样。
阅读(2680)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'CC2541 BLE Peripheral工程的建立',
blogAbstract:'\t安装了TI给出的BLE协议栈软件包后,就可以看到TI提供的一些例程。说实话,TI的BLE的工程布局并不是那么容易理解的,而且在很多细节的地方存在这一些不合理之处。但是不容置疑的是,TI的BLE工程布局肯定是考虑了各方面的因素,可谓是面面俱到,所以才定下这样的布局方式。然而,这样考虑全局的布局却未必真的适合某个具体的应用。正是考虑到这个原因,所以我将重新调整BLE工程布局。\t当进入TI提供的工程的第一层目录时,跟工程相关的只有Components与Project两个文件,只凭着这两个文件完全无法了解工程的布局的,一定要多进入几层目录后才能看到具体的布局。这种方式,给人藏着掖着的感觉,所以,需要将这些藏在里面的布局全部看门见山似的凸显出来。纵观整个官方工程,可以给它分成几个部分:',
blogTag:'ble,工程,periperal',
blogUrl:'blog/static/2',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:2,
permalink:'blog/static/2',
commentCount:0,
mainCommentCount:0,
recommendCount:1,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}3096人阅读
BLE-CC2541(61)
本篇博文最后修改时间:日,11:06。
本文介绍如何在SimpleBLECentral工程中,读取SimpleBLEPeripheral工程中的特征值char1的数据。
(注:SimpleBLECentral工程默认即可通过UP键进行读、写特征值,而本文采用的方法是连接上从机后自动读取特征值数据)
二、实验平台
协议栈版本:BLE-CC254x-1.4.0
编译软件:IAR 8.20.2
硬件平台:两块Smart RF(主芯片CC2541)
三、版权声明
博主:甜甜的大香瓜
声明:喝水不忘挖井人,转载请注明出处。
原文地址:http://blog.csdn/feilusia
联系方式:
香瓜BLE之CC2541群:
香瓜BLE之CC2640群:
香瓜BLE之Android群:
香瓜单片机之STM8/STM32群:
甜甜的大香瓜的小店(淘宝店):/?spm=0126.d21.hd2o8i
四、实验前提
1、在进行本文步骤前,请先阅读以下博文:
1)《CC2541之发现服务与特征值》:http://blog.csdn.net/feilusia/article/details/
2)《CC2541之发现多个特征值句柄》:http://blog.csdn.net/feilusia/article/details/
2、在进行本文步骤前,请先实现以下博文:
五、基础知识
六、实验步骤
1、添加读特征值事件
1)定义读特征值事件(SimpleBLECentral.c的SimpleBLECentral_ProcessEvent中)
if ( events & GUA_READ_CHAR1_EVT )
// Do a read
attReadReq_
req.handle = simpleBLECharH
status = GATT_ReadCharValue( simpleBLEConnHandle, &req, simpleBLETaskId );
if ( status == SUCCESS )
simpleBLEProcedureInProgress = TRUE;
return ( events ^ GUA_READ_CHAR1_EVT );
2)定义读特征值事件的宏(SimpleBLECentral.h中)
#define GUA_READ_CHAR1_EVT
2、在发现特征值句柄后直接读取特征值(SimpleBLECentral.c的simpleBLEGATTDiscoveryEvent中)
static void simpleBLEGATTDiscoveryEvent( gattMsgEvent_t *pMsg )
attReadByTypeReq_
if ( simpleBLEDiscState == BLE_DISC_STATE_SVC )
// Service found, store handles
if ( pMsg-&method == ATT_FIND_BY_TYPE_VALUE_RSP &&
pMsg-&msg.findByTypeValueRsp.numInfo & 0 )
simpleBLESvcStartHdl = pMsg-&msg.findByTypeValueRsp.handlesInfo[0].
simpleBLESvcEndHdl = pMsg-&msg.findByTypeValueRsp.handlesInfo[0].grpEndH
// If procedure complete
if ( ( pMsg-&method == ATT_FIND_BY_TYPE_VALUE_RSP
pMsg-&hdr.status == bleProcedureComplete ) ||
( pMsg-&method == ATT_ERROR_RSP ) )
if ( simpleBLESvcStartHdl != 0 )
// Discover characteristic
simpleBLEDiscState = BLE_DISC_STATE_CHAR;
req.startHandle = simpleBLESvcStartH
req.endHandle = simpleBLESvcEndH
req.type.len = ATT_BT_UUID_SIZE;
req.type.uuid[0] = LO_UINT16(SIMPLEPROFILE_CHAR1_UUID);
req.type.uuid[1] = HI_UINT16(SIMPLEPROFILE_CHAR1_UUID);
GATT_ReadUsingCharUUID( simpleBLEConnHandle, &req, simpleBLETaskId );
else if ( simpleBLEDiscState == BLE_DISC_STATE_CHAR )
// Characteristic found, store handle
if ( pMsg-&method == ATT_READ_BY_TYPE_RSP &&
pMsg-&msg.readByTypeRsp.numPairs & 0 )
simpleBLECharHdl = BUILD_UINT16( pMsg-&msg.readByTypeRsp.dataList[0],
pMsg-&msg.readByTypeRsp.dataList[1] );
LCD_WRITE_STRING( &Simple Svc Found&, HAL_LCD_LINE_1 );
simpleBLEProcedureInProgress = FALSE;
simpleBLEDiscState = BLE_DISC_STATE_IDLE;
osal_start_timerEx( simpleBLETaskId, GUA_READ_CHAR1_EVT, 1000 );//一定要延时一定时间,否则会读取特征值失败
}特别注意,如果上面的定时器定时的是1ms,会失败。
因此需要多延时一点时间,此处香瓜使用的是延时1S。
七、注意事项
八、实验结果
1)将SimpleBLEPeripheral工程的代码下进其中一块Smart RF中,使其上电广播。
2)在SimpleBLECentral工程中仿真,在如下图位置设置断点,并根据方向键进行扫描、选择设备、连接,在连接上1S之后,会自然停在断点,看到如下图的char1的数据:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:275954次
积分:4276
积分:4276
排名:第6325名
原创:137篇
评论:192条
(1)(4)(3)(6)(15)(10)(11)(10)(13)(5)(1)(7)(3)(4)(5)(4)(3)(4)(15)(3)(14)关于ble central接收广播信息的问题 - 蓝牙Bluetooth 技术 - 德州仪器在线技术支持社区
关于ble central接收广播信息的问题
发表于2年前
<input type="hidden" id="hGroupID" value="42"
&p>ble 的Central设备在Searching Peripheral设备的时候,发现有些设备广播的字段长短不一,而且Central可能发现同一设备多次是怎么回事??&/p>
&p>问题2&&/p>
&p>Peripheral Device 广播的时候广播的是一些什么东西??格式是什么样的??&/p>
&p>我猜测广播的时候就是广播在&/p>
&p>在SimpleBLEPeripheral.c 中 的scanRspData内容,但后来发现广播内容还包含 service 的 UUID,为什么&/p>
&p>在static bool simpleBLEFindSvcUuid( uint16 uuid, uint8 *pData, uint8 dataLen )中::::::::&/p>
&p>***************************************&/p>
&p>// For each UUID in list&br> while ( adLen &= 2 && pData & pEnd )&br> {&br> // Check for match&br> if ( pData[0] == LO_UINT16(uuid) && pData[1] == HI_UINT16(uuid) )&br> {&br> // Match found&br> return TRUE;&br> }&/p>
&p>************************************************&/p>
&p>问题3&/p>
&p>simpleBLECentral。c &中&/p>
&p>// Length of bd addr as a string&br>#define B_ADDR_STR_LEN 15&/p>
&p>字段是什么意思??&/p>
&p>是干嘛用的??&/p>&div style=&clear:&>&/div>" />
关于ble central接收广播信息的问题
此问题尚无答案
All Replies
ble 的Central设备在Searching Peripheral设备的时候,发现有些设备广播的字段长短不一,而且Central可能发现同一设备多次是怎么回事??
Peripheral Device 广播的时候广播的是一些什么东西??格式是什么样的??
我猜测广播的时候就是广播在
在SimpleBLEPeripheral.c 中 的scanRspData内容,但后来发现广播内容还包含 service 的 UUID,为什么
在static bool simpleBLEFindSvcUuid( uint16 uuid, uint8 *pData, uint8 dataLen )中::::::::
***************************************
// For each UUID in list while ( adLen &= 2 && pData & pEnd ) { // Check for match if ( pData[0] == LO_UINT16(uuid) && pData[1] == HI_UINT16(uuid) ) { // Match found return TRUE; }
************************************************
simpleBLECentral。c &中
// Length of bd addr as a string#define B_ADDR_STR_LEN 15
字段是什么意思??
是干嘛用的??
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
目前发现simple Peripheral 程序广播的额数据
BrodData: 0x6C7269
前一字节0x14是数据长度
后一字节0x09是令牌&
定义在gap.h里面
:如果不是BLE芯片用的不是TI 的 ,广播的数据是不是就不确定了如
BrodData: & 0x(0x06 &显然不是数据长度)
广播包格式是不是
第一数据包长度+第一令牌+第一数据包
+第二令牌+第二数据包
+第三令牌+第三数据包
希望能有人解答,谢谢了
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
还有我想问一下的是,Service的UUID从哪里获取,如果我并不知道有该service存在的情况下。
向LightBlue就可以把未知的ServiceUUID和未知的characteristic UUID列举出来。
当然还能提供查找未知Characteristic UUID的方法就更好了
感谢热心的TI员工和飞TI员工,能提供的任何解答,谢谢了
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
调用discoverservices 之后,在didDiscoverservices 会回调发现的service.
You have posted to a forum that requires a moderator to approve posts before they are publicly available.关于BLE CC2541 设备名称问题 - 蓝牙Bluetooth 技术 - 德州仪器在线技术支持社区
关于BLE CC2541 设备名称问题
发表于3年前
<input type="hidden" id="hGroupID" value="42"
请教TI工程师,&/p>
&p>我用的是TI提供的协议栈例程里面 --广播的工程:SimpleBLEBroadcaster-CC2541&/p>
&p>现在我想改设备名称:对SimpleBLEBroadcaster.c文件做了如下代码的增加:&/p>
&p>//设备新名称&/p>
&p>static uint8 attDeviceName[GAP_DEVICE_NAME_LEN] = &HT15TTTTT&;&/p>
&p>在void SimpleBLEBroadcaster_Init( uint8 task_id )函数增加如下代码:&/p>
&p>& // 设置GAP特性& Set the GAP Characteristics 改名字&br>& uint8 devNamePermission = GATT_PERMIT_READ | GATT_PERMIT_WRITE;&br>&br>& GGS_SetParameter(GGS_W_PERMIT_DEVICE_NAME_ATT, sizeof(uint8), &devNamePermission);&br>& GGS_SetParameter( GGS_DEVICE_NAME_ATT, GAP_DEVICE_NAME_LEN+1, attDeviceName );&br>& //上面是新增加的//////////////////////////////////////////////////////////////////////////////////&br>&&/p>
&p>编译发现如下错误:&/p>
&p>Error[e46]: Undefined external &gapServiceUUID& referred in gapgattserver ( E:\work\MSPBLEindependent\ble\Projects\ble\Libraries\CC2541DB\bin\&a href=&.cn/product/cn/CC2541& target=&extwin&>CC2541&/a>_BLE_bcast.lib ) &br>Error[e46]: Undefined external &primaryServiceUUID& referred in gapgattserver ( E:\work\MSPBLEindependent\ble\Projects\ble\Libraries\CC2541DB\bin\&a href=&.cn/product/cn/CC2541& target=&extwin&>CC2541&/a>_BLE_bcast.lib ) &br>Error[e46]: Undefined external &characterUUID& referred in gapgattserver ( E:\work\MSPBLEindependent\ble\Projects\ble\Libraries\CC2541DB\bin\&a href=&.cn/product/cn/CC2541& target=&extwin&>CC2541&/a>_BLE_bcast.lib ) &br>Error[e46]: Undefined external &deviceNameUUID& referred in gapgattserver ( E:\work\MSPBLEindependent\ble\Projects\ble\Libraries\CC2541DB\bin\&a href=&.cn/product/cn/CC2541& target=&extwin&>CC2541&/a>_BLE_bcast.lib ) &br>Error[e46]: Undefined external &appearanceUUID& referred in gapgattserver ( E:\work\MSPBLEindependent\ble\Projects\ble\Libraries\CC2541DB\bin\&a href=&.cn/product/cn/CC2541& target=&extwin&>CC2541&/a>_BLE_bcast.lib ) &br>Error while running Linker&/p>
&p>请教是什么原因导致的?&/p>
&p>谢谢&/p>
&p>附件是代码源文件&/p>&div style=&clear:&>&/div>" />
关于BLE CC2541 设备名称问题
此问题尚无答案
All Replies
请教TI工程师,
我用的是TI提供的协议栈例程里面 --广播的工程:SimpleBLEBroadcaster-CC2541
现在我想改设备名称:对SimpleBLEBroadcaster.c文件做了如下代码的增加:
//设备新名称
static uint8 attDeviceName[GAP_DEVICE_NAME_LEN] = &HT15TTTTT&;
在void SimpleBLEBroadcaster_Init( uint8 task_id )函数增加如下代码:
& // 设置GAP特性& Set the GAP Characteristics 改名字& uint8 devNamePermission = GATT_PERMIT_READ | GATT_PERMIT_WRITE;& GGS_SetParameter(GGS_W_PERMIT_DEVICE_NAME_ATT, sizeof(uint8), &devNamePermission);& GGS_SetParameter( GGS_DEVICE_NAME_ATT, GAP_DEVICE_NAME_LEN+1, attDeviceName );& //上面是新增加的//////////////////////////////////////////////////////////////////////////////////&
编译发现如下错误:
Error[e46]: Undefined external &gapServiceUUID& referred in gapgattserver ( E:\work\MSPBLEindependent\ble\Projects\ble\Libraries\CC2541DB\bin\_BLE_bcast.lib ) Error[e46]: Undefined external &primaryServiceUUID& referred in gapgattserver ( E:\work\MSPBLEindependent\ble\Projects\ble\Libraries\CC2541DB\bin\_BLE_bcast.lib ) Error[e46]: Undefined external &characterUUID& referred in gapgattserver ( E:\work\MSPBLEindependent\ble\Projects\ble\Libraries\CC2541DB\bin\_BLE_bcast.lib ) Error[e46]: Undefined external &deviceNameUUID& referred in gapgattserver ( E:\work\MSPBLEindependent\ble\Projects\ble\Libraries\CC2541DB\bin\_BLE_bcast.lib ) Error[e46]: Undefined external &appearanceUUID& referred in gapgattserver ( E:\work\MSPBLEindependent\ble\Projects\ble\Libraries\CC2541DB\bin\_BLE_bcast.lib ) Error while running Linker
请教是什么原因导致的?
附件是代码源文件
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
榜眼36882分
C语言不过关啊。增加一个gatt_uuid.c到工程里就搞定了。该文件在\Texas Instruments\BLE-CC254x-1.3.2\Components\ble\host下面。
You have posted to a forum that requires a moderator to approve posts before they are publicly available.}

我要回帖

更多关于 cc2541 uuid 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信