TI的CC254x芯片

1. SoC

2. RF收发器+8051MCU 128/256KB Code空间.

3. Master或者Slave

4. 可编程flash

5. 8KB SRAM

6. 全软件协议栈, 无版权问题

7. 21个GPIO口, 2个UART或者SPI, 全速USB2.0, 2个16bit, 2个8bit计时器

8. 硬件AES加密

9. 8通道8-12bit ADC

10. 40pin 6x6x0.85mm QFN封装

IAR开发

值得注意是的上面的地方, 不知道Keil有没有类似的功能, 估计也有, 但是我没用过, 这个好用的地方在于, 你可以在代码中直接define一些东西, 然后将前提条件放在IAR的这个界面中赋值, 比如你不需要LCD, 那么你照写跟LCD有关的代码, 只是同时写上编译条件, 在你需要LCD的时候, 在IAR的compiler里面加一行HAL_LCD=TRUE, 记得是TRUE, 不是TURE, 别问我为啥反复说这个.

Build完你的项目后, IAR会生成一个映射文件来统计编译结果, 在output文件夹下.

如果你要写一个基于CC254x的应用程序, 有5个主要部分:

1. OSAL OS抽象层, 就是一个极简的操作系统模型, 帮助利用任务事件(task event)来实现多任务切换, 不是实时操作系统, 也不是可抢夺的, 任务是一个个被执行的.

2. HAL 硬件抽象层

3. Demo用的应用程序

4. BLE协议栈

5. 配置, GAP, GATT service, GAP security

应用程序启动过程:

首先执行simpleBLEPeripheral.c中的SimpleBLEPeripheral_Init() (用户自己的源码)

然后进行配置:

peripheral.c里面的GAP配置: 包括广告信息, 连接间隔, 扫描响应.  (TI的源代码)

simpleGATTProfile.c里面的用户配置: 包括特征值1, 特征值2...(用户自己的源码)

gapgattserver.h里面的GAP GATT server配置, 包括设备名, service等等 (TI的库)

gapPeripheralBondMgr.c里面的Bond配置: 比如配对用的秘钥, IO相关等. (TI的源码)

TI CC254x BLE教程 4的更多相关文章

  1. TI CC254x BLE教程 2

    连接更新请求(connection update request) 如果slave不满意现有的连接参数, 比如间隔, 延迟等等, 可以向master提出自己希望的参数范围 连接终止(connectio ...

  2. TI CC254x BLE教程 1

    约定, 第一次翻译这种东西, 专有名词的翻译原则还是不太清楚, 总之涉及有可能误解的词, 都用双语, 如果是简单的, 直接英文或者中文, 取决于我是否能找到中文合适的词来翻译. 何为BLE: 1. 是 ...

  3. TI CC254x BLE教程 3

    通用属性配置(Generic Attribute Profiles) 1. 数据在services里面以特征字(characteristics)的形式展示出来 如你所见, 特征字包含属性(Proper ...

  4. 【转】TI蓝牙BLE 协议栈代码学习

    BLE就是低功率蓝牙.要着重了解两种设备: dual-mode双模设备:简单说就是向下兼容. single-mode单模设备:仅仅支持BLE.   关于开发主要讲的是单模设备,它可以只靠纽扣电池即可持 ...

  5. BLE教程 - 官方tutorial翻译

    关键术语和概念 1. Generic Attribute Profile(GATT)GATT配置文件是一个通用规范,用于在BLE链路上发送和接收被称为"属性"的数据块.目前所有的B ...

  6. TI CC2541 BLE协议栈蓝牙MAC 地址

    在Flash中有一块只读区域,从地址0x780E开始,蓝牙的MAC以小端方式存放在里面. 在TI的Peripheral例程里面,添加一个特征值,只读属性,6字节长度(蓝牙MAC长度为48-bit,6字 ...

  7. BLE资料应用笔记 -- 持续更新

    BLE资料应用笔记 -- 持续更新 BLE 应用笔记 小书匠 简而言之,蓝牙无处不在,易于使用,低耗能和低使用成本.'让我们'更深入地探索这些方面吧. 蓝牙无处不在-,您可以在几乎每一台电话.笔记本电 ...

  8. BLE资料应用笔记 -- 持续更新(转载)

    简而言之,蓝牙无处不在,易于使用,低耗能和低使用成本.’让我们’更深入地探索这些方面吧. 蓝牙无处不在—,您可以在几乎每一台电话.笔记本电脑 .台式电脑和平板电脑中找到蓝牙.因此,您可以便利地连接键盘 ...

  9. TI低功耗蓝牙(BLE)介绍

    TI低功耗蓝牙(BLE)介绍 本文档翻译和修改自参考资料:CC2540Bluetooth Low Energy Software Developer’s Guide (Rev. B),部分图片直接引用 ...

随机推荐

  1. Interview with BOA

    1. BFS 2. QuickSort 3. PCA, 1000 articles, so many factors, how to reduce factors. 4. newton's metho ...

  2. 玩转HTML5移动页面

    (1) 动画雪碧图涉及的动画十分多,用的元素也十分多,请务必使用雪碧图(Sprite)!网上的工具有一些可以帮助你生成雪碧图的工具,例如CssGaga,GoPng等等,自动化构建工具Grunt和Gul ...

  3. Ionic 小节

    教程 http://www.runoob.com/ionic/ionic-install.html 最后报错,发现是jdk版本过低,升级到8.0后正常 分析:nodejs.cordova.ionic. ...

  4. Xib的使用与File'Owner总结

    Xib的使用与File'Owner总结 一.XIB的适用范围 xib(也叫Nib)与storyboard一样是用来描述界面的. storyboard描述的是比较大型的,大范围.适合描述界面跳转等. 二 ...

  5. python_操作oracle数据库

    1. cx_Oracle Python 连接Oracle 数据库,需要使用cx_Oracle 包. 该包的下载地址:http://cx-Oracle.sourceforge.net/ 下载的时候,注意 ...

  6. my ambition

    学好java基础,不用学swing.学完java之后学my circle,之后学jsp,装好linux系统,天天打代码,在当寒假之前一定要学完并熟练运用java.java scrip,straw pu ...

  7. 修改RMAN list命令输出的时间格式

    根据需要,修改rman list命令输出结果的时间显示 $ rman target / Recovery Manager: Release - Production on Wed Jul :: Cop ...

  8. asp.net treeview 异步加载

    在使用TreeView控件的时候,如果数据量太大,这个TreeView控件加载会很慢,有时甚至加载失败, 为了更好的使用TreeView控件加载大量的数据,采用异步延迟加载TreeView. 在Tre ...

  9. linux:习惯

    1>.系统里面必须最少有两个账号,一个root,一个普通账户; 2>.平时登录系统均使用普通账户登录,除非需要配置或者执行特殊命令才切换至root; 3>.linux系统下严格区分大 ...

  10. Swift游戏实战-跑酷熊猫 05 踩踏平台是怎么炼成的

    这节内容我们一起学习下随机长度的踩踏平台的原理是怎么样的. 要点: 平台的组成 我们的平台由3部分组成 左: 中: 右: 其中中间部分是可以无缝衔接的,下面就是两个中间部分衔接在一起 要任何长度的平台 ...