下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、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
2、_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 清除一个
3、任务的事件标志。 * 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_cbtimeri
4、nit 初始化函数 * 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
5、_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/每一
6、个任务调用函数,来陈述是否这个任务要保存电源 * 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_st
7、op_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
8、下有应用列子程序。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 使用属性协议发现,服务或其他关联属性之间分组
9、信息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-cc
10、254x-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
11、instrumentsble-cc254x-1.2.1projectsbtool。选择com口,其余默认(115200,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_s
12、ection(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
13、) - 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 os
14、al_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_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 草地夜行听评课记录
- 100秒计时器课程设计
- 青海省海东地区2024年一级造价工程师《土建计量》押题密卷含解析
- 8人教版七年级语文第一学期期末考试试题(含答案)(适用于山东)
- 《错账更正》课件
- 中国象棋学习介绍
- 第二册美术课程教学计划例文
- 化粪池接缝布施工方案
- 乡镇工作总结及工作计划
- 2024年行政前台年度工作计划
- 昆明市二手房赠送车位合同
- 【MOOC】国际商务-暨南大学 中国大学慕课MOOC答案
- 2024年“新华三杯”全国大学生数字技术大赛备赛试题库(含答案)
- 2024年新课标培训2022年小学英语新课标学习培训课件
- 人教版(2024新版)七年级上册生物期末复习全册知识点提纲
- 2024国家开放大学电大专科《人文英语1》期末试题及答案
- 创业实务智慧树知到期末考试答案章节答案2024年山东大学
- 济南市建设工程竣工测量技术规程
- 万能中国地图模板(可修改)
- 语音放大电路的设计毕业论文
- 滑动模板施工工法
评论
0/150
提交评论