TI CC254x BLE教程 4
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的更多相关文章
- TI CC254x BLE教程 2
连接更新请求(connection update request) 如果slave不满意现有的连接参数, 比如间隔, 延迟等等, 可以向master提出自己希望的参数范围 连接终止(connectio ...
- TI CC254x BLE教程 1
约定, 第一次翻译这种东西, 专有名词的翻译原则还是不太清楚, 总之涉及有可能误解的词, 都用双语, 如果是简单的, 直接英文或者中文, 取决于我是否能找到中文合适的词来翻译. 何为BLE: 1. 是 ...
- TI CC254x BLE教程 3
通用属性配置(Generic Attribute Profiles) 1. 数据在services里面以特征字(characteristics)的形式展示出来 如你所见, 特征字包含属性(Proper ...
- 【转】TI蓝牙BLE 协议栈代码学习
BLE就是低功率蓝牙.要着重了解两种设备: dual-mode双模设备:简单说就是向下兼容. single-mode单模设备:仅仅支持BLE. 关于开发主要讲的是单模设备,它可以只靠纽扣电池即可持 ...
- BLE教程 - 官方tutorial翻译
关键术语和概念 1. Generic Attribute Profile(GATT)GATT配置文件是一个通用规范,用于在BLE链路上发送和接收被称为"属性"的数据块.目前所有的B ...
- TI CC2541 BLE协议栈蓝牙MAC 地址
在Flash中有一块只读区域,从地址0x780E开始,蓝牙的MAC以小端方式存放在里面. 在TI的Peripheral例程里面,添加一个特征值,只读属性,6字节长度(蓝牙MAC长度为48-bit,6字 ...
- BLE资料应用笔记 -- 持续更新
BLE资料应用笔记 -- 持续更新 BLE 应用笔记 小书匠 简而言之,蓝牙无处不在,易于使用,低耗能和低使用成本.'让我们'更深入地探索这些方面吧. 蓝牙无处不在-,您可以在几乎每一台电话.笔记本电 ...
- BLE资料应用笔记 -- 持续更新(转载)
简而言之,蓝牙无处不在,易于使用,低耗能和低使用成本.’让我们’更深入地探索这些方面吧. 蓝牙无处不在—,您可以在几乎每一台电话.笔记本电脑 .台式电脑和平板电脑中找到蓝牙.因此,您可以便利地连接键盘 ...
- TI低功耗蓝牙(BLE)介绍
TI低功耗蓝牙(BLE)介绍 本文档翻译和修改自参考资料:CC2540Bluetooth Low Energy Software Developer’s Guide (Rev. B),部分图片直接引用 ...
随机推荐
- How to Iterate Map
常用iterate 方法 Map<Integer, String> m = new HashMap<Integer, String>(); for(Map.Entry<I ...
- 利用css做扇形
html和css每一块的边边角角都是直来直去,除了border-raius,要怎么做扇形了?当然,你如果只想要得到直角扇形,和半圆,那就很简单?那么做小于180的直角扇形,如何做了(大于180的直角无 ...
- saltstack之(四)远程执行及常用模块
前几篇文章已经完成了saltstack的安装.认证,从这篇文章开始学习使用saltstack的远程执行. 1.salt远程执行命令详解Usage: salt [options] '<target ...
- [MySQL] 变量(参数)的查看和设置
类似于Oracle的参数文件,MySQL的选项文件(如my.cnf)用于配置MySQL服务器,但和Oracle叫法不一样,在MySQL里, 官方叫变量(Varialbes),但其实叫参数也是可以的,只 ...
- 什么是BI及哪些行业需要用到BI?
什么是BI?哪些行业需要用到BI?BI——就是分析利用企业已有的各种商用数据来了解企业的经营状况和外部环境,从而为企业的经营决策提供数据支撑.下面我们来详细分解下: 企业应用BI的目标即是期望通过对来 ...
- 第四篇 Integration Services:增量加载-Updating Rows
本篇文章是Integration Services系列的第四篇,详细内容请参考原文. 回顾增量加载记住,在SSIS增量加载有三个使用案例:1.New rows-add rows to the dest ...
- [地图代数]处理DEM中的高程异常值——ArcGIS栅格计算的应用
接了一个任务,要处理DEM原始数据中的高程异常值,如图中的异常亮点. 想了一下,以前处理过建筑物附近的DEM铲平,那么高程异常值应该如何处理呢? 显然直接铲平时不太合理的,需要利用异常值周围的高程进行 ...
- jose4j / JWT Examples
jose4j / JWT Examples View History JSON Web Token (JWT) Code Examples Producing and consuming a sign ...
- 使用NSURLSession请求需要AD认证的HTTPS服务器
关键代码:使用后台下载PDF文件 - (void)startDownloadPDF{ NSURLSession *session = [self session]; NSString *downloa ...
- oracle调整表中列顺序
有一个哥们提出一个问题: 有个表,创建时候的列顺序是a,b,c 如何使用select * 的时候,让列的显示顺序是a,c,b 而且任性地必须使用select *来查询,且不能重建表. 假设有个表tes ...