微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > the fivth week:例程剖释

the fivth week:例程剖释

时间:10-02 整理:3721RD 点击:


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

由于本人这次我题目是:电脑蓝牙开关。所以我自然看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函数就可以了

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top