新手刚刚开始搞CC2541开发,今天看Keyfob的源代码,看到keyfobdemo.c里面,KeyFobApp_Init()把外设都注册成为了GATT服务,请问是不是可以这样理解,keyfob把从key、acc、batt等外设读取的数据都通过GATT发送出去了?
DevInfo_AddService(); // Device Information Service,
ProxReporter_AddService( GATT_ALL_SERVICES ); // Proximity Reporter Profile
Batt_AddService( );// Battery Service
Accel_AddService( GATT_ALL_SERVICES );// Accelerometer Profile
SK_AddService( GATT_ALL_SERVICES );// Simple Keys Profile
wenzhong shen:
你好,这些只是向GATT 的profile中添加响应的服务,让主机知道有这些服务,添加好服务之后,主机才能找到这些service中的characteristics,才能按照规定的权限进行读写,并不是添加服务之后就把数据发送出去了
TOWN WEN:
回复 wenzhong shen:
谢谢wenzhong shen!原来keyfob就是让主机找到对应服务的句柄和其他一些属性。
假设我有个应用,需要CC2541读取外设(例如:加速计、陀螺仪……)的数据处理以后再向主机提供服务,那么是不是意味着我要重新改写服务程序,把加速计、陀螺仪……这些外设的数据提交给我的应用,再由我的应用注册成为GATT的服务,向主机提供句柄、属性。是不是可以这样理解?