3987|0

1万

帖子

16

TA的资源

版主

楼主
 

【SensorTag】the fivth week:例程剖释 [复制链接]



这几天我研究了一下例程:

由于本人这次我题目是:电脑蓝牙开关。所以我自然看KEYS那个例程。

由于例程里边全是英文本人看几天终于觉悟了。写出来希望为大家扫平道路。

我下得BLE库是 BLE_CC254X_140 就是1.4截图如下




以上是各各例程的主机部分,而Profiles子目录,就是各各应相的服务程序。

我认为是另一部分,比如按键,就可以找到按键相应的程序。

下面我把按键例程剖释下:

Key Demo:

有四个作用:
1.报告电池水平
2.报告三轴加速器状况
3.报告接近传感器情况
4.按键按下改变状况

例程用的是CCS540DK 就是keyfob主为主服务平台。有两个按钮及LED指示、buzzer蜂鸣指示等。
KeyFob used用一个ADC来读电池电量。电池的配置文件允许USB Dongle以电量的百分数读取电量。
而值放在BATTERY_LEVEL_UUID中。

三轴加速度传感器操作,SPI接口,三轴加速度传感器必须被ACCEL_ENABLER_UUID写值“01”来使能。
之后是“0100”被写入GATT_CLIENT_CHAR_CFG_UUID这后值在 ACCEL_X_UUID、ACCEL_Y_UUID、ACCEL_Z_UUID

按键操作
这个应用在HAL层注册,在HAL栓测一个键值的改变。
监视设备读键值通过SK_KEYPRESSED_UUID写“01”在GATT_CLIENT_CHAR_CFG_UUID写“00”来指示一个状态。
用“01”代表左键 02代表在右键 03代表全按

主服务key fobDemo.c
w分两部:1.OSAL谳用KeyFobAPP_Init函数,这个函数能配置接口。GAP和GAP带宽管理。它也设轩AGTT标准服务。
第2步执行START_DEVICE_EVT   在KeyFobApp_ProcessEvent函数里调用GAPROLE_StartDevice和GAPBondMgr_Register
这两个函数用来注册带宽等参数。

事件处理
在keyFobApp_processEvent中处理:
Sys_EVENT_MSG:处理OSAL消息
KFD_START_DEVICE_EVT:
KFD_ACCEL_READ_EVT:
KFD_BATTERY_CHECK_EVT:
KFD_TOGGLE_BUZZER_EVT:

在KeyFobApp_ProcesOSALmsg:中处理KEY_CHANGE



可见只要处理KEY_CHANGE函数就可以了



而回调函数基本同键盘没关系。







此帖出自无线连接论坛
点赞 关注
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表