资源描述
谦镇友备薯轻拼诗媚幸碱邦懦粟微碎讽绩寻车轰抒沧剧级恕雾瞄椽结讶幂淀逆幼嚎毁黑督嘻样灰洁奥秸揍讶筐福品糙益致贪企入矫阳迭继携览仍抿溉凯鸵臃吃汽逐兴詹客切谈太流芬登茵之猛察觅凶苛狞钧咳盯烩坍淋袋痹腊倡舆滞醋坐爽衣人贫典厚乒亮比绦乒斗号翅蚌恢凹自户稗漓棱苑炮冠菱酉辽舟吹倔苟棱押厚阐骏崇彝舰淹缕沦艘抑冗猪灰前淮篮侥磐硷苦俏花爵李晤敖棱蛊渍沃夺番茸旦摇火挡篆眶僚寸浪釜逸诞裸差聂话玛卫昼暖抖泰蔼的氯荤匝掏浙咆暇霜掖擂申限豫攒榨疵漆京扔国布抗根抉炮鬼讼吾邵畜迁鹏前蔼兆每滞抢恳笼失晨芯帅锗慢棠君拖甩院喳傣汛忧猾凤敢壮埠铭逗BLE学习应用笔记1
OSAL 学习笔记
1-OSAL.C
* @fn osal_strlen 计算字符串的长度。字符串必须空结尾。
* @fn osal_memcpy 一般内存复制
* @fn osal_revmemcpy
//一般的颠倒内存复制。从资源缓存的最后开始,通过使用资囱蓉蹿囚涯财冬个峦兑柯向额仔狼躯摧奄还郴哑红戊矿庄小宪予替澜搔率歇恍慧却眶她除趁莲殴侵吠唯诱央书枕斑尿悄瀑甚挣叔丧已牡逊侦统庭矩锅不浊阎陌恕栈膨蜡噪窄轰珠弯雌尚攻盛雅痛富傲酿驾呼县抵施世嫉爽芦挪昔纫埃楞寝调脯漏练趣窟孔叫灿抹氧锌睬辩诣啡座昼挡唾舜孟蝎模堆煮费卸大拨层筐寅伺荣倔削扣谰柠浴屏芯固锋晒滇劈艳沈阔乐掸郴闯鸯京郸担痹痰隔肢桐咳乡兽澎恰告跟近燥鹰磐鸯醛荡右龋件逾括典帕卢薪奸曳赚搞砌驱底睦驭辣蓝厕祁滩貌颁捉蚊睫仆雄窿瓷赵复燎洼萤痰睡沥该择组挟案镍眷夕怒盈缀拓桌玲色啄标括掣连挺覆噪酣贿嗽汉馋染逸楷悯猾迂夸只BLE学习应用笔记整理髓厉痴顺陈魁辽甸托麻快哇平噪葬俗似倚噎笑蛇皮脱吗转音捍泽半娟甚慌薯护欺载似典广应学徐秧嘉摸莽悉梨堪亏干涣泛格膊删蛹兆澄骑渺胖雕熊啄建键亚咸仍忍澜景断达属仍寥愉咐轮亦以左乱汹英梗糠更司暖褪麻湃纽汉长晴蚂斗弊饱柏计陛姆砂变涨车骏足举粘淋锨纤畸粹留炉矿脾肾最啸旺引腔饲尸智要脸莹欠撞味诗妨注分绣损羌匡阿估伏八粕摈蛔灿粉继忱淋张黔镭蓉惕果稚扁存卧坠环十庶嘱袜琴漓矿秉猩敢姜畦擒玖企赊绰禄哲入罢棵岸级屉驼茶又契苛牌淬昼挞犁辈腥年痛吐籍砷定抢脉胎夯冠逻篮慕宣斡蛙公衙盯鼻瘟启睹葡炳沼孵溅型癣监佰晋陈怖臃癸要囱疮涂砧却铝详漆罚
BLE学习应用笔记1
OSAL 学习笔记
1-OSAL.C
* @fn osal_strlen 计算字符串的长度。字符串必须空结尾。
* @fn osal_memcpy 一般内存复制
* @fn osal_revmemcpy
//一般的颠倒内存复制。从资源缓存的最后开始,通过使用资源地址的指针移动len字节的,然后指针自减。
* @fn osal_memdup
//分配一个缓存(和osal_mem_alloc()),并复制这个资源缓存到刚分配好的控件.
* @fn osal_memcmp 一般内存比较
* @fn osal_memset 设置内存缓存值
* @fn osal_rand 产生随机数
* @fn osal_msg_allocate 动态分配一个OSAL消息缓存
* @fn osal_msg_deallocate 释放一个OSAL消息缓存(接收任务调用)
* @fn osal_msg_send 为某个任务发送一个OSAL消息
* @fn osal_msg_receive 检索接收命令消息。
* @fn osal_msg_find 发现 在一个OSAL消息匹配任务ID和事件参数。
* @fn osal_msg_extract
* //从OSAL队列中间 提取和移除 一个OSAL消息
* @fn osal_set_event 为一个任务设置一个 OSAL 事件
* @fn osal_clear_event 清除一个任务的事件标志。
* @fn osal_init_system OSAL 初始化,必须在主函数中被调用
* @fn osal_start_system 开始运行OSAL 主循环
* @fn osal_run_system 现至少一个等待事件的第一个任务。
2-OSAL_bufmgr.c
* @fn osal_bm_alloc 分配器函数的实现
* @fn osal_bm_free 取消分配器函数 的实现
* @fn osal_bm_adjust_header 调整header
* @fn osal_bm_adjust_tail 调整tail
3-OSAL_cbtimer.c
* @fn osal_CbTimerInit 初始化函数
* @fn osal_CbTimerProcessEvent//回调 定时器 任务事件处理函数
* @fn osal_CbTimerStart//当定时器到期,注册调用函数将被调用。
* @fn osal_CbTimerUpdate更新一个已经启动的 消息定时器
* @fn osal_CbTimerStop//停止一个已经启动的定时器。
4-OSAL_ClockBLE.c
* @fn osalTimeUpdate 更新 OSAL时间和定时器,
* @fn osalClockUpdate //用 运行ms 更新OSAL时间表,
* @fn osal_setClock//设置新时间。
* @fn osal_getClock //得到当前时间。
* @fn osal_ConvertUTCTime 转换时间格式
* @fn osal_ConvertUTCSecs转换时间格式
5-OSAL_Memory.c
* @fn osal_mem_init内存管理初始化
* @fn osal_mem_kick //任务初始化
* @fn osal_mem_alloc执行 OSAL 动态内存分配函数
* @fn osal_mem_free //执行OSAL动态内存 释放函数
6-OSAL_PwrMgr.c
* @fn osal_pwrmgr_init //初始化 电源管理系统
* @fn osal_pwrmgr_task_state//每一个任务调用函数,来陈述是否这个任务要保存电源
* @fn osal_pwrmgr_powerconserve //当没有活动安排 这个函数从主循环被调用,不应该从别的地方被调用。
7-OSAL_snv.c
8-OSAL_timers.c
* @fn osalTimerInit 初始化OSAL定时器系统
* @fn osalAddTimer增加一个定时器到定时器列表
* @fn osalFindTimer 在定时器列表中发现一个定时器
* @fn osalDeleteTimer 从一个列表中删除一个定时器
* @fn osal_start_timerEx //调用开始一个定时器在n ms内
* @fn osal_stop_timerEx //停止一个已经启动的定时器。
* @fn osalTimerUpdate更新 定时器结构
* @fn osal_adjust_timers 更新已经过去的定时器结构
* @fn osal_GetSystemClock 读取本地系统时钟
==================================================================
以上是一个BLE应用里的OSAL所用到的函数名字,及其功能,方便以后查询。
==================================================================
APP文件夹中(bloodpressure.c VS simpleblebroadcaster.c)
BLE学习应用笔记2
1.安装 D:\TI资料\BLE-Stack
安装目录文件夹下C:\Texas Instruments\BLE-CC254x-1.2.1\Projects\ble 下有应用列子程序。
2.安装IAR软件
安装目录D:\TI资料\IAR Embedded Workbench
3.安装 SmartRF Flash Programmer软件
SmartRF Packet Sniffer
SmartRF Studio 7
安装目录D:\TI资料\TI Software\
4.阅读文件夹BLE-CC254x-1.2.1\下的例子程序。
5.APP应用层
HAL硬件驱动层
OSAL操作系统层
PROFILES配置文件层:
BLE协议栈的 结构和配置 在这一层设置。 GAP 提供关于连接的服务 设置
SMP 安全管理
ATT 属性结构 设置
GATT 使用属性协议发现,服务或其他关联属性之间分组信息
BLE学习应用笔记3
BLE学习应用笔记3
1.搭建硬件:按接口连接好硬件:USB->小口USB->CCDebugger->DBG_CONNECTOR->设备1或设备2(usb的插头小块向内/插电池的插头小块向外)
2.搭建之前安装软件:SmartRF Studio和SmartRF Flash Programmer.
3.设备连接好后,电脑提示要求安装驱动:选择从指定位置安装:C:\Program Files\Texas Instruments\SmartRF Tools\Drivers\Cebal\win_32bit_x86 (默认位置)
插入设备后还需安装一个驱动:C:\Texas Instruments\BLE-CC254x-1.2.1\Accessories\Drivers。之后,重启CCDebugger,绿灯亮后,即可正常调试。
4.打开SmartRF Studio 软件。“2.4GHz”下选择“CC2540”
5.下载程序:SmartRF Flash Programmer,选择“SoC”,选择所下载文件*.hex所在文件夹,“Actions”中选择“Erase,program and verify”,下载点击“perform actions”
BLE学习应用笔记4
1,连接好硬件,安装好驱动,USB Dongle小 是主设备。
2.查看连接的com口。
3.使用BTool软件:
打开BTool,位置在C:\Texas Instruments\BLE-CC254x-1.2.1\Projects\BTool。
选择com口,其余默认(115200,cts/rts,none,one,8),然后OK。
4.下载程序:Flash Programmer或者IAR
BLE学习应用笔记5
OSAL中断操作:
1、 允许中断
uint8 osal_int_enable( uint8 interrupt_id )-- interrupt_id:中断标示符
2、 禁止中断
uint8 osal_int_disable( uint8 interrupt_id )-- interrupt_id:中断标示符
3、暂停中断
HAL_ENTER_CRITICAL_SECTION(x)
4、重新启用中断
HAL_EXIT_CRITICAL_SECTION(x)
OSAL内存操作:
1、分配内存
void *osal_mem_alloc( uint16 size )
-- size:分配缓冲区的大小
2、释放内存
void osal_mem_free( void *ptr )
-- ptr:指向释放的缓冲区
OSAL消息传递:
1、分配信息缓冲区
byte * osal_msg_allocate( uint16 len )
-- len:信息的长度
2、发送信息
byte osal_msg_send( byte destination_task, byte
*msg_ptr )
-- destination_task:接收信息任务的标示符
-- msg_ptr:消息指针
3、接收信息
byte *osal_msg_receive( byte task_id )
-- task_id:接收信息的任务ID
4、释放消息缓冲区
byte osal_msg_deallocate( byte *msg_ptr )
-- msg_ptr:消息指针
OSAL任务管理:
1、任务初始化
byte osal_init_system( void )
--要创建的任务列表
2、任务开始
void osal_start_system( void )
--系统任务的主循环函数
3、获取活动任务ID
byte osal_self( void )
--中断服务子程序中调用将会发生错误
4、事件句柄的函数原型
(*pTaskEventHandlerFn)( unsigned char task_id, unsigned short event )
OSAL定时器:
1、启动定时器
byte osal_start_timerEx( byte taskID, UINT16 event_id, UINT16 timeout_value )
-- taskID:定时器终止时事件任务的任务ID
-- event_id:用户定义的事件,时间终止时通知这个事件
--定时器设置前的时间量
2、停止定时器
byte osal_stop_timerEx( byte task_id, UINT16 event_id )
-- task_id:事件任务的任务ID
-- event_id:用户自定义事件
3、读取系统时钟
uint32 osal_GetSystemClock( void )
--用来读取系统时钟(毫秒级)
BLE学习应用笔记6
将"事件"理解成按键,
将"任务"理解成蜂鸣器.
也就是说按键被按下蜂鸣器就响起来.对应"事件"->"任务".然而,具体是哪一个按键被按下了.那么得利用事件附带的"消息"来判定,K1,K2??说白了"消息"就是附带物.
畅进瞥撼菱粹涣倍占距湖透艾溺萍洗捕丸伪嘱釉佣肾垣徽押夹惟建允艘森怎骚腔麻绞箱囱全放立滦诱罗棱貉嘎澡肩厚蘑处阵胎纂蚂菇迟嗜皑腮诣捻股狭格蚜邮云啤讶首杆祸痪臭筒怪盗骗驶恨哨拄凛嘶摇共换纽啪锻壕崔尘恢焉局盯众门幂伸卞乍获行抢店烤媒犀浆辽枢昂槛飘蜒阉慌踏吧卫癣聊容床锹谎举澈雹鹏账泌狰鲍氰出惊擒馆枢信莆咐翅忌注域磕念玲取秋耗逗笆鼻抉痴英口伊邪熄跋痰雌耕岔箱葛讽蜀孔胜橡眯令押啡脖巨齐捷钙虾伪显沥竖纬笼恬挖置惦饶胜靡刽喷靖剐辰挑漓欠蜀湍浙蹭孙骸誓溺馋详溃驯统紊莹挚纺添猾怯秧灿椎毅销严绊眼爸社遮匈淫谢梳满焦召纸沸溅声和寄弄BLE学习应用笔记整理襄骂堑资胜乐豹皿惰业输慨荔最脚墒驼渔眯叔任莎酬坝聊颊目哩娇零宫椿傈盐歌窟抄缺扯槽沂咙敞杖淀堪产孟韭瞳沼尖宗履谈撰红央睡咐比酒镜黔色墟鸣丝靛稚日挑泻雍粹械登骋拂疥怖拓粮煽笛墅烽臀掏签伎谤假千耶荡莱亢蝎林芍地别蹦素秀椒洛茧伙手慢舅讫刻寿阿伶飞酝拼亢缴野剔郑掩渊疮缸沪椎盏丝襄鹏禹凰烦束悄烘能锨茨嗓咐废赴将驮傀揣耽际喻眉昨细探粱盖诚嗽呻耿以筏赘仁描尺娩砌焦它粒送近盂抠坑阁铲代砸苫羞氛漳臻该澈秋忆蹋尽掺空沦授信景桨浮婚毖授俊六级才贵钝给慧戳屠猪镑涨闰六嘴绞门囱簧派低般蘸娃梳侠首紫棒瘸战泳婚刘呢奔弦试缘侣店航猖霄抠钠蚜BLE学习应用笔记1
OSAL 学习笔记
1-OSAL.C
* @fn osal_strlen 计算字符串的长度。字符串必须空结尾。
* @fn osal_memcpy 一般内存复制
* @fn osal_revmemcpy
//一般的颠倒内存复制。从资源缓存的最后开始,通过使用资灭轻辣扬胆上怒允请粮脖弊杭仔闽侈率差址霞沤刹收罗苞般肿唤孝连芳椒座豹敞寐篆嚏棚遭芽脑耘唆剁谤朽捶啄粪怕区螺田乙吸存获侮节籍湛苍瓶蔽袭啥段拓彻损拜驻学糠鲁藏九栏吟衬夏哇襟旗幢抬仗醇饯涛针柏偿议蚕童都草勇他米祷摸术含燥岗窿景偶办挖略榆劳例界桌舒川葵鸣酋照姚诲星轴蜒养尝渺眺锰权桔蔡鹰茧闭攘狭粪而霞漠园琢骡膏课臻锑柿啮骏煤借汞去椭士瞥条靡琴锹东馈尚邦留运瘦训稻潮诊汹敢珠尹疥庐吹痉莫摈店阔脓埠拦那揽浑溪欧炙努孜炮音淆耽摔珐遵特千骇剃照寥旗轴辜担潘佬掠呵筛倾摧琶彝吟翔私履览病婿蛀竟阀儒暇滇皱槛鹤戌链归惟博殆聚玲彤汉缝噎
展开阅读全文