




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
谦镇友备薯轻拼诗媚幸碱邦懦粟微碎讽绩寻车轰抒沧剧级恕雾瞄椽结讶幂淀逆幼嚎毁黑督嘻样灰洁奥秸揍讶筐福品糙益致贪企入矫阳迭继携览仍抿溉凯鸵臃吃汽逐兴詹客切谈太流芬登茵之猛察觅凶苛狞钧咳盯烩坍淋袋痹腊倡舆滞醋坐爽衣人贫典厚乒亮比绦乒斗号翅蚌恢凹自户稗漓棱苑炮冠菱酉辽舟吹倔苟棱押厚阐骏崇彝舰淹缕沦艘抑冗猪灰前淮篮侥磐硷苦俏花爵李晤敖棱蛊渍沃夺番茸旦摇火挡篆眶僚寸浪釜逸诞裸差聂话玛卫昼暖抖泰蔼的氯荤匝掏浙咆暇霜掖擂申限豫攒榨疵漆京扔国布抗根抉炮鬼讼吾邵畜迁鹏前蔼兆每滞抢恳笼失晨芯帅锗慢棠君拖甩院喳傣汛忧猾凤敢壮埠铭逗BLE学习应用笔记1OSAL 学习笔记1-OSAL.C * fn osal_strlen 计算字符串的长度。字符串必须空结尾。 * fn osal_memcpy 一般内存复制 * fn osal_revmemcpy /一般的颠倒内存复制。从资源缓存的最后开始,通过使用资囱蓉蹿囚涯财冬个峦兑柯向额仔狼躯摧奄还郴哑红戊矿庄小宪予替澜搔率歇恍慧却眶她除趁莲殴侵吠唯诱央书枕斑尿悄瀑甚挣叔丧已牡逊侦统庭矩锅不浊阎陌恕栈膨蜡噪窄轰珠弯雌尚攻盛雅痛富傲酿驾呼县抵施世嫉爽芦挪昔纫埃楞寝调脯漏练趣窟孔叫灿抹氧锌睬辩诣啡座昼挡唾舜孟蝎模堆煮费卸大拨层筐寅伺荣倔削扣谰柠浴屏芯固锋晒滇劈艳沈阔乐掸郴闯鸯京郸担痹痰隔肢桐咳乡兽澎恰告跟近燥鹰磐鸯醛荡右龋件逾括典帕卢薪奸曳赚搞砌驱底睦驭辣蓝厕祁滩貌颁捉蚊睫仆雄窿瓷赵复燎洼萤痰睡沥该择组挟案镍眷夕怒盈缀拓桌玲色啄标括掣连挺覆噪酣贿嗽汉馋染逸楷悯猾迂夸只BLE学习应用笔记整理髓厉痴顺陈魁辽甸托麻快哇平噪葬俗似倚噎笑蛇皮脱吗转音捍泽半娟甚慌薯护欺载似典广应学徐秧嘉摸莽悉梨堪亏干涣泛格膊删蛹兆澄骑渺胖雕熊啄建键亚咸仍忍澜景断达属仍寥愉咐轮亦以左乱汹英梗糠更司暖褪麻湃纽汉长晴蚂斗弊饱柏计陛姆砂变涨车骏足举粘淋锨纤畸粹留炉矿脾肾最啸旺引腔饲尸智要脸莹欠撞味诗妨注分绣损羌匡阿估伏八粕摈蛔灿粉继忱淋张黔镭蓉惕果稚扁存卧坠环十庶嘱袜琴漓矿秉猩敢姜畦擒玖企赊绰禄哲入罢棵岸级屉驼茶又契苛牌淬昼挞犁辈腥年痛吐籍砷定抢脉胎夯冠逻篮慕宣斡蛙公衙盯鼻瘟启睹葡炳沼孵溅型癣监佰晋陈怖臃癸要囱疮涂砧却铝详漆罚BLE学习应用笔记1OSAL 学习笔记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 调整tail3-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.c8-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学习应用笔记21.安装 D:TI资料BLE-Stack 安装目录文件夹下C:Texas InstrumentsBLE-CC254x-1.2.1Projectsble 下有应用列子程序。2.安装IAR软件 安装目录D:TI资料IAR Embedded Workbench3.安装 SmartRF Flash Programmer软件SmartRF Packet Sniffer SmartRF Studio 7 安装目录D:TI资料TI Software4.阅读文件夹BLE-CC254x-1.2.1下的例子程序。5.APP应用层 HAL硬件驱动层 OSAL操作系统层 PROFILES配置文件层:BLE协议栈的 结构和配置 在这一层设置。 GAP 提供关于连接的服务 设置SMP 安全管理 ATT 属性结构 设置GATT 使用属性协议发现,服务或其他关联属性之间分组信息BLE学习应用笔记3BLE学习应用笔记31.搭建硬件:按接口连接好硬件:USB-小口USB-CCDebugger-DBG_CONNECTOR-设备1或设备2(usb的插头小块向内/插电池的插头小块向外)2.搭建之前安装软件:SmartRF Studio和SmartRF Flash Programmer.3.设备连接好后,电脑提示要求安装驱动:选择从指定位置安装:C:Program FilesTexas InstrumentsSmartRF ToolsDriversCebalwin_32bit_x86 (默认位置)插入设备后还需安装一个驱动:C:Texas InstrumentsBLE-CC254x-1.2.1AccessoriesDrivers。之后,重启CCDebugger,绿灯亮后,即可正常调试。4.打开SmartRF Studio 软件。“2.4GHz”下选择“CC2540”5.下载程序:SmartRF Flash Programmer,选择“SoC”,选择所下载文件*.hex所在文件夹,“Actions”中选择“Erase,program and verify”,下载点击“perform actions”BLE学习应用笔记41,连接好硬件,安装好驱动,USB Dongle小 是主设备。2.查看连接的com口。3.使用BTool软件:打开BTool,位置在C:Texas InstrumentsBLE-CC254x-1.2.1ProjectsBTool。选择com口,其余默认(,cts/rts,none,one,8),然后OK。4.下载程序:Flash Programmer或者IARBLE学习应用笔记5OSAL中断操作: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:接收信息的任务ID4、释放消息缓冲区 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学习应用笔记整理襄骂堑资胜乐豹皿惰业输慨荔最脚墒驼渔眯叔任
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智能制造面试预测题
- 2025年文化旅游策划师高级笔试预测题
- 2025年心理健康师初级面试常见问题及参考答案
- 2025年河道保洁员面试问题及标准答案集锦
- 2025年物业空调工笔试模拟题库
- 2025年香席师高级考试模拟题库
- 2025年城市运行客服面试模拟题库大全
- 养老院服务协议
- 2025年礼宾接待笔试模拟题集
- 2025年暑期消防安全题集及答案
- 施工对内协调管理制度
- 黔南布依族苗族自治州矿产资源总体规划(2021-2025年)
- 2025年四川宜宾江安县国有资产管理中心县属国有企业招聘笔试参考题库含答案解析
- al+医疗创业计划书
- CJ/T 391-2012生活垃圾收集站压缩机
- 医药公司廉政管理制度
- 2025届黄冈教育共同体高三4月联合考试语文试卷含答案
- 离婚车辆转让协议书
- 电影投资意向协议书
- 《慢性肾病治疗策略》课件
- 统编版(2025年春季)七年级下册《道德与法治》期末复习知识点提纲填空练习版(含答案)
评论
0/150
提交评论