请教如何用cc2650 例程做蓝牙开发

后使用快捷导航没有帐号?
查看: 7845|回复: 12
TI CC2650 套件注意事项汇总
在线时间4 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
最近在用TI的CC2650做一款低功耗蓝牙设备,板子入手两天,发现了一些使用中常遇到的问题,为避免大家走弯路,整理上来,以供参考。
1:开发环境我用的IAR 7.4,SDK版本tirtos_simplelink_2_11_01_09,ble_cc26xx_2_00_00_42893。
建议在完全理解开发包的程序架构之前,按照默认路径安装,不要怜惜那一点主分区空间了。
2:IAR的环境变量中设置要注意你的系统,如果是64位,恭喜你,否则,请编辑BOUNDARY路径为C:\Program Files\Texas Instruments\Boundary;默认支持64系统的路径为C:\Program Files (x86)\Texas Instruments\Boundary。
3:CC26XXWARE=C:\ti\tirtos_simplelink_2_11_01_09\products\cc26xxware_2_20_06_14829修改为
CC26XXWARE=C:\ti\tirtos_simplelink_2_11_01_09\products\cc26xxware_2_00_06_14829
4:APP编译时,第一次编译因为预编译处理时间很长,差不多一根烟的时间也未必可以编译好,所以,耐心等待,请确定不是你的电脑死机,呵呵。
& &&&Stack编译也请耐性等待。
5:使用IAR+JLINK调试时,请在DEBUG选择J-link,另Extra Options 选项卡将命令行勾选去掉。
6:在运行程序后,请不要直接用手机搜索蓝牙设备,因为我的红米2A搜不到,相信你的也未必搜到,他们数据结构不同;郑重建议使用TI 的BLE Device APP,进行搜索和操作设备。
完成以上设置和操作后,一颗你专用的蓝牙平台就跃然于你的手机,(当然,我没有屏,只是一片CC2650裸调),如果你也是裸调,注释掉LCD的代码吧,可能等待响应,造成系统阻塞。
以上是我这两天接触CC2650的一些经验,希望能够对初次接触的朋友有所帮助,本人将倍感欣慰。
当然,对于蓝牙、这片SOC我也了解甚为肤浅,错误和浅薄之处还请个中大侠提点,谢谢!
在线时间949 小时
威望1757分
芯币3142枚
E金币292枚
TA的帖子TA的资源
好的。谢了。
在线时间1628 小时
威望4798分
芯币16063枚
E金币103枚
TA的帖子TA的资源
五彩晶圆(中级), 积分 4798, 距离下一级还需 1202 积分
五彩晶圆(中级), 积分 4798, 距离下一级还需 1202 积分
请问下STLINK可以调试嘛?
个人淘宝店:/
主营:zigbee,蓝牙,w5100,zigbee usbdongle等电子产品
在线时间227 小时
E金币445枚
TA的帖子TA的资源
纯净的硅(初级), 积分 657, 距离下一级还需 143 积分
纯净的硅(初级), 积分 657, 距离下一级还需 143 积分
请问下STLINK可以调试嘛?
在线时间1 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
这SDK在哪下载,我是小白,第一次接触这个芯片
在线时间99 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 51, 距离下一级还需 149 积分
一粒金砂(中级), 积分 51, 距离下一级还需 149 积分
请问可不可以用Linux进行调试和下载
在线时间9 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
请问可不可以用Linux进行调试和下载
在线时间8 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 8, 距离下一级还需 192 积分
一粒金砂(中级), 积分 8, 距离下一级还需 192 积分
我的找不到芯片但又不敢强制擦除怎么办?
(261.44 KB, 下载次数: 0)
15:03 上传
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
我的找不到芯片但又不敢强制擦除怎么办?
你解决了吗,我现在也是这个样子,我试过强制擦出了也没用
在线时间8 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 8, 距离下一级还需 192 积分
一粒金砂(中级), 积分 8, 距离下一级还需 192 积分
你解决了吗,我现在也是这个样子,我试过强制擦出了也没用
解决了,电池电量的问题,供电不稳定导致芯片连接不稳定,用直流稳压电源直接给供的电很稳定
在线时间949 小时
威望1757分
芯币3142枚
E金币292枚
TA的帖子TA的资源
其实C盘D盘都可以,就是要设置一下路径。
在线时间6 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 4, 距离下一级还需 1 积分
一粒金砂(初级), 积分 4, 距离下一级还需 1 积分
你好,我在网上看到你做的[经验] TI CC2650 套件注意事项汇总,感觉你好利害,我现在想学习一下CC2640的开发,不知道你可不可以给我提供点资来,谢谢
在线时间73 小时
E金币115枚
TA的帖子TA的资源
一粒金砂(中级), 积分 6, 距离下一级还需 194 积分
一粒金砂(中级), 积分 6, 距离下一级还需 194 积分
论坛测评队员
荣誉会员勋章
曾经的版主且威望大于2000,或对EEWORLD论坛有突出贡献的坛友
EEWORLD 官方微信
Powered by
逛了这许久,何不进去瞧瞧?2016第三届物联网大会
智能后视镜产品方案对接会
中国LED智能照明高峰论坛
第三届·无线通信技术研讨会
第二届·中国IoT大会
ETFo智能安防技术论坛
移入鼠标可放大二维码
SimpleLink 多标准 CC2650 无线 MCU 可在全球任何地方访问套件
来源:网络整理 作者:佚名日 16:46
[导读] 通过使用结合全双工实时通信的Bluetooth Smart 由XSockets.NET的创始人兼首席执行官(CEO)Uffe Bjorklund所创。自2009年以来他一直致力于围绕实时通信的开发工作。来自德州仪器(TI)的SimpleLink多标准CC2650无线MCU是一种令人惊奇的硬件,该硬件作为中央单元的外设,可通过蓝牙低能耗设备进行通信。
通过使用结合全双工实时通信的Bluetooth Smart
由XSockets.NET的创始人兼首席执行官(CEO)Uffe Bjorklund&所创。自2009年以来他一直致力于围绕实时通信的开发工作。
来自德州仪器()的SimpleLink&多标准CC2650无线MCU是一种令人惊奇的硬件,该硬件作为中央单元的外设,可通过蓝牙低能耗设备进行通信。基于CC2650的SimpleLink SensorTag拥有很多服务,能在全球任何地方访问套件,真的很棒。
在本文中,我们将看看如何能扩展与CC2650无线MCU的通信(通过在蓝牙低能耗中央设备后面添加全双工通信层),以便我们能在全球任何地方对CC2650进行读取和写入操作。因为这可能让人感觉有点儿抽象,所以提供了下图,或许有助于让我们将要做的事情形象化。
有许多连接到外围Bluetooth Smart设备的方法,但在本文中,我们将用Raspberry Pi 2作为蓝牙低能耗(BLE)中央设备。
该图表明:CC2650无线MCU通过蓝牙低能耗设备与RaspberryPi进行通信。接着该Pi与XSockets(在这个实例中用的是NodeJS)建立TCP/IP连接,以便能采用全双工模式发送/接收数据。然后XSockets将能从任何TCP/IP连接处发送/接收数据,这样我们就可以在任何地方对CC2650进行读取和写入操作了。在上图中,客户端的几个代表是经过挑选的,但实际上客户端可以是具有TCP/IP的任何东西。
物联网(IoT)和实时通信
在物联网(IoT)世界中,实时通信几乎是必不可少的。最流行的IoT协议采用全双工通信,而且有很好的理由。IoT通常涉及以高频率发送数据或在有事发生时接收数据。借助请求响应驱动架构解决这一问题往往并非良策。而采用半双工技术,您要冒这样的风险:得到的解决方案很不正式却开销巨大;收到的信息是在不需要时发来的。
为实时通信建立Raspberry Pi
由于我们用来与Raspberry Pi的SensorTag进行通信的库是基于NodeJS的,因此我们也将使用NodeJS进行实时通信。
安装NodeJS
在Raspberry Pi上安装NodeJS非常容易。
sudo dpkg -i node_latest_armhf.deb
然后,您可通过运行(这可能会输出v0.12.0或更高版本)来验证该版本
本文的任务是展示如何在全球任何地方采用全双工模式对CC2650进行读取/写入操作。为了能做到这一点,我们需要三种部件。
Raspberry Pi上的传感器客户端,该器件可与蓝牙低能耗设备进行通信,并且还能以全双工方式连接到我们的实时服务器。
实时服务器,该器件能向监控传感器的客户端发送信息,还能在监控客户端想要将数据写入到传感器时向传感器客户端发送信息。
监控客户端(可以是多种类型的),该器件可显示传感器数据,并通过实时服务器向传感器客户端发送指令。
这三个实施方案将在下面提及。
传感器客户端
Raspberry Pi上的传感器客户端(NodeJS)很容易建立。
创建一个名为CC2650的文件夹并导航到它。
安装SensorTag库
npm install sensortag
安装xsockets.net库
npm install xsockets.net
用于客户端的完整代码(?70行)可在github库中找到,但重要的部分在这里介绍。只需将app.js文件放在您安装上述程序包的文件夹中即可。
连接到服务器,注意此处的IP和端口只用于开发。当部署到Azure时,该IP和端口将被替换为公共端点。
//连接到XSockets
var conn = new xsockets.TcpClient('192.168.1.3', 4502, ['sensor']);
//获取传感器控制器
//该控制器用来接收数据和发送数据
var sensorcontroller = conn.controller('sensor');
当sensortag上的温度变化时
tagInstance.on('irTemperatureChange', funcon (ot, at) {
//call server method 'irTempChange' and pass new value
sensorcontroller.send('irtempchange', { obj: ot, amb: at });
当监控客户端启用红外温度服务时
sensorcontroller.on('enableirtemp', self.enableIrTemperature);
当世界某个地方的监控客户端禁用红外温度服务时
sensorcontroller.on('disableirtemp', self.disableIrTemperature);
实时服务器
由于XSockets.NET是有形态的,因此您可连接任何东西,它允许您跨协议等进行对话。建立服务器端通信将非常轻松。
传感器控制器
cc2650相关文章
cc2650相关下载
simplelink相关文章
simplelink相关下载
mcu相关文章
mcu相关下载
根据华为公司年报,2016年消费者业务全年智能手机发货量达到1.39亿台,销售收入1,798亿元人民币,同比增长44%,其中累计研发投入高达764亿元。...
作为全球最大的图形芯片和AI芯片厂商,总部位于加州圣克拉拉的英伟达在加州圣何塞举行GPU技术大会,并发布了上述产品。...
创新实用技术专题
版权所有 & 深圳华强聚丰电子科技有限公司
电信与信息服务业务经营许可证:粤B2-CC2650有没有什么办法能让PC端连续接收数据? - 无线通信技术专区 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
CC2650有没有什么办法能让PC端连续接收数据?
14:37:57  
我在做穿戴设备的调试,穿戴设备上面用的是cc2650做数据采集和蓝牙数据传输,遇到一个问题:我想把数据从设备将数据发送给PC端的CC2540,但是现在用Btool接收数据只能一条一条的,有没有什么办法能让PC端连续接收数据?然后存下来供我做算法?谢谢~!
14:38:37  
PCB在线计价下单
板子大小:
板子数量:
PCB 在线计价
用捉包软件试一下。
14:38:51  
说的抓包软件是packet sniffer吗?
14:39:10  
10:40:23  
提供CC2650 CC2541 CC2640R2 CC1310等CC系列免费样片 Q.Q
11:46:51  
你现在找到解决办法?
18个问题&&&&&&&&13984个浏览
25个问题&&&&&&&&6516个浏览
CellWise周军
21个问题&&&&&&&&7593个浏览
通过本次直播,你将学会:
1.如何快速实现传统硬件产品智能化
2.结合机智云智能硬件APP和MCU实操经验
3.在实际应用中需要注意规避哪些常见关键问题
4.掌握如何实现传统硬件连接互联网,快速实现产品智能化
即日起至6月15日,参与英蓓特NXP产品知识小测验,即有机会赢取最新系列开发板。特别奖SBC-EC9100开发板1套,幸运奖FRDM系列最新开发板(型号随机,共10套)。快来参加吧! >> 立即参加
Powered by//Createone-shotclocksfo;Util_constructClock(&3,等待时钟实体到期并在应用的上下文中处理;3.5队列;队列允许应用以一种有序的方法来处理事件,即FIF;3.5.1接口;RTOS的队列应经抽象成了函数放在了util.c;队列通常用来限制应用回调函数在更高优先级任务的上;3.5.2功能示例;下面是Simple
// Create one-shot clocks for internal periodic events.
Util_constructClock(&periodicClock, SimpleBLEPeripheral_clockHandler, SBP_PERIODIC_EVT_PERIOD, 0, false, SBP_PERIODIC_EVT);
3,等待时钟实体到期并在应用的上下文中处理。如下面的流程图所展示:绿色的部分是与运行在应用上下文进程有关的。红色的与软件中断有关。
队列允许应用以一种有序的方法来处理事件,即FIFO的顺序来进行事件的处理。一个工程可能使用队列来管理来自应用,配置或其他任务的事件。鉴于时钟会在一个对时序要求严格的事件必须执行的时候使用,队列对于需要按照指定顺序执行的事件来说是非常有用的。 队列模块提供了两个任务间消息处理的单向方法,遵循FIFO原则。 下图中,一个队列配置为任务A到任务B的单向通讯通道。任务A把消息压到队列中,任务B按照顺序取出消息。
3.5.1 接口
RTOS的队列应经抽象成了函数放在了util.c文件中。在SYS/BIOS API 【9】中查看队列模块隐藏的函数。这些实用的函数结合了队列和能力来通知容器任务通过信号量传递过来的消息。在cc2640软件中,这样用的信号量与用于通过Icall实现任务同步的信号量一样。SimpleBLePeripheral_enqueueMsg()函数中提供了这样的一个例子。
队列通常用来限制应用回调函数在更高优先级任务的上下文中的执行时间。在这种方式中,如果一个优先级更高的任务把一个消息压到了应用的队列中,应用就会 延迟进程而不是在自己的上下文中立即处理。
3.5.2 功能示例
下面是SimpleBLEPeripheral工程中的有关队列的例子,是用来处理一个按键的硬件中断处理。
1.定义任务队列函数以便使用任务的信号量来唤醒自己
static uint8_t SimpleBLECentral_enqueueMsg(uint8_t event, uint8_t status, uint8_t *pData) {
sbcEvt_t *pM
// Create dynamic pointer to message. if (pMsg = ICall_malloc(sizeof(sbcEvt_t))) {
pMsg-&event = pMsg-&status = pMsg-&pData = pD // Enqueue the message.
return Util_enqueueMsg(appMsgQueue, sem, (uint8_t *)pMsg); }
return FALSE; }
2. 静态调用然后构建队列
// Queue object used for app messages static Queue_Struct appMsg
static Queue_Handle appMsgQ
// Create an RTOS queue for messages to be sent to app. appMsgQueue = Util_constructQueue(&appMsg);
3. 等待按键被按下和在应用的上下文中处理。下面的流程图展示了整个流程。绿色的部分
是运行在应用上下文中的进程,红色的是硬件中断部分。
3.6 空闲任务
空闲模式就是用来指定一系列函数在没有其他任务在系统中运行时调用。在CC2640软件中,空闲任务与运行电源管理方案有关。 3.7 电源管理
一般来说,所有的电源管理的功能性都是由外设驱动和BLE协议栈处理。这种特性通过包含或不包含POWER_SAVING预处理宏来使能或禁能。当POWER_SAVING声,设备就会在BLE事件,外设事件和应用定时器等需要时进入或退出睡眠。当POWER_SAVING没有定义,设备就会一直醒着。9.2中有修改与预编译宏的步骤。
关于电源管理的更多信息包括应用接口和一个使用简例用户串口驱动可以在
Management User’s Guide [8]文档中发现,该文档在RTOS安装包中。需要注意的是这些接口只在用户的驱动中有必要添加。
所以,查阅Measuring Power Consumption App Note [3]来分步分析系统的电源消耗和电池寿命。
3.8 硬件中断(HWI)
硬件中断处理应用必须对外部同步事件作出回应的临界进程。SYS/BIOS 目标/设备指定的硬件中断模块用来管理硬件中断。对象,向量和中断函数性的特定的信息可以在技术说明指导中找到Technical Reference Manual [2].另外,SYS/BIOS的用户知道详细描述了硬件中断接口和提供的一系列软件案例。
通常来讲,硬件中断已经从他们从属的外设驱动中分离出来了。在第9中可以找到一个使用GPIO作为硬件中断的例子。这是优先考虑采用的使用方法。使用Hwi_plug()函数,可能需要写的中断服务函数不会与SYS/BIOS相互影响。然而中断服务函数必须做他们的上下文以防止阻塞时序要求高的BLE协议栈。
为了使BLE协议栈能够配合RF的时序要求,所有的应用定义的硬件中断必须以最低优先级执行。因为这个原因,在新添加一个硬件中断时不要修改硬件中断的默认的优先级。 通常,这里不要有应用定义的临界的部分,以免阻塞RTOS或BLE协议栈中时序要求比较严格的部分。代码执行在临界的部分时会阻止实时中断现相关的事件的中断。 3.9 软件中断
查看SYS/BIOS用户指导来获取软件中断的接口和详细信息。软件中断的优先级要高于任务但低于硬件中断。因此,软件中断中处理的进程的数量应该严格限因为这个进程的优先级将会超过BLE协议栈任务的。就想在3.4中描述的一样,使用模块使用软件中断来抢占任务。只处理时钟进程的软件中断会设置一个事件,发送一个信号量给应用来继续软件中断之外的进程。任何可能的时间,时钟模块应该用来实现软件中断。如果必要,一个软件中断可以按照SYS/BIOS用户指导中描述的软件中断模块来实现。
注意,为了保护RTOS的栈,动态创建软件中断应该像3.11.6中描述的一样限制。
flash被划分为每个可擦除页为4kB。另外,应用和栈工程必须独自开始在4kB
址。flash的各功能区和相关连接文件分别是:
应用镜像:给应用工程留的代码空间。这个可以在应用连接配置文件:cc26xx_ble_app.icf (IAR) and cc_tirtos_ccs.cmd(CCS).配置。
栈镜像:给栈工程刘的代码空间。配置文件为:cc26xx_ble_stack.icf (IAR) and
cc_tirtos_ccs_stack.cmd (CCS).
简单NV(SNV):用来存放非易失性数据的一个区域,主要用阿里保存GAP绑定信息,也可以提供给应用使用。3.10.4讲诉配置SNV。当配置完,SNV就是栈的一部分。
用户配置区(CCA):flash的最后一块就是永爱存储用户指定芯片配置参数的部分。CCA中没有用的空间分配给应用工程。
3.10.1 flash 内存映射
这部分将阐述flash在系统层面上的映射。符号指向的实线队列可以在应用连接文件中找到,符号指向的虚线的队列可以在栈连接文件中找到。
下面的表中概述了Flash系统映射的定义(上图所指),提供了相关的链接宏/符号,这些宏
三亿文库包含各类专业文献、幼儿教育、小学教育、文学作品欣赏、高等教育、外语学习资料、生活休闲娱乐、应用写作文书、cc2640蓝牙芯片软件开发指导说明文件_图文97等内容。 
 暂无评价|0人阅读|0次下载|举报文档Cc2640 ANCS Sample_计算机软件及应用_IT/计算机_专业资料。Ti CC26xx BLE支持苹果ANCS的例程。Cc...  基于TI最新蓝牙芯片CC2640,支持Ibeacon协议,超低功耗。ibeacon 模块使用说明书文档...3 APP 操作提供 android 系统的 APK 安装包,Ibeacon.apk 具体操作见应用软件。...  3 图 7 硬件连线示意图 2 软件介绍 在显示事故.../*输出 320x240 像素 JPG 图片*/ OV2640_Brightness...而且还需要 SD 卡同步,在 卡初 cc,CLK 时钟最大...  无线个人域网即短距离无线网络,典型的短距离无 线传输技术有:蓝牙(Bluetooth) ...软件的应用 下完成编译调试的 3 掌握基础的射频知识 cc2530 的芯片就是右 51...  2.低成本.通过大幅简化协议(不到蓝牙的 1/10),...4,比拚开发工具的方便性和开发工具(包括开发软件)...CC2430 胜出: C.ZIGBEE 芯片的最后成本 CC2430,...}

我要回帖

更多关于 cc2650 的文章

更多推荐

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

点击添加站长微信