SYD8801蓝牙profile(UUID)的使用说明
2017-12-14 20:02
323 查看
[b][b]SYD8801是一款低功耗高性能蓝牙低功耗SOC,集成了高性能2.4GHz射频收发机、32位ARM Cortex-M0处理器、128kB Flash存储器、以及丰富的数字接口。SYD8801片上集成了Balun无需阻抗匹配网络、高效率DCDC降压转换器,适合用于可穿戴、物联网设备等。[b]具体可咨询:http://www.syd-tek.com/[/b][/b][/b]
SYD8801蓝牙profile(UUID)的使用说明
SYD8801的profile(UUID)是通过专门的工具《SYD Service Utility》生成的(制作步骤请看:http://blog.csdn.net/chengdong1314/article/details/70138657),制作好后将得到《XXXXXXXXXX_Flash.txt》文件,比如《SYD8801EVB_Flash.txt》。然后通过《EVBUtility》工具把该文件烧录到芯片中(烧录步骤请看:http://blog.csdn.net/chengdong1314/article/details/70161095中的烧录Service文件相关内容)供SYD8801底层代码使用。SYD8801和主机之间的交互都以《XXXXXXXXXX_Flash.txt》文件的内容作为依据,比如在《XXXXXXXXXX_Flash.txt》里面没有定义UUID为0x0004的特性,当主机对蓝牙进行0x0004的特性进行访问的时候,SYD8801将返回错误的响应!
另外,《XXXXXXXXXX_Flash.txt》文件中定义的内容也是SYD8801底层协议栈上报相关事件的依据,比如当主机对SYD8801的UUID为0x0002的特性进行写操作的时候,SYD8801底层协议栈上报的内容将包括0x0002这个描述,以便上层应用明白当前写操作是针对UUID为0x0002这个特性。
蓝牙profile(UUID)的使用:
使用《SYD Service Utility》生成好profile(UUID)后,该工具将生成如下图的文件:
《SYD8801EVB_Flash.txt》是烧录到芯片中的文件,《SYD8801EVB_service.h》是专门给应用程序参考使用的文件。其内容如下:
这里写明了各个service以及特征和描述符的UUID定义以及handle,这些将在代码中有用。
协议栈上报事件的时候将会包含相应的UUID和handle,至于该UUID和handle具体是什么服务,有什么功能都是用户在《SYD Service Utility》中定义的,也就是说应用层关于《SYD Service Utility》的UUID定义以及handle的定义必须和协议栈协商一致,否则会出现混乱的情况。
应用层代码中使用到service以及特征和描述符的UUID定义以及handle大体上有四个地方,具体为:ble_evt_callback函数、ble_gatt_read函数、ble_gatt_write函数以及BLE_SendData函数,这里根据《SYD8801EVB_service.h》文件对手头的代码做相应的修改即可!
关于ble_evt_callback函数的说明和修改请看:http://blog.csdn.net/chengdong1314/article/details/73929998中的协议栈上报事件处理相关说明
关于BLE_SendData函数的说明和修改请看:http://blog.csdn.net/chengdong1314/article/details/76169279的BLE_SendData函数相关说明!
另外对于《SYD8801EVB_Flash.txt》和《《SYD8801EVB.txt》》文件的更深入说明请看:http://blog.csdn.net/chengdong1314/article/details/60870526
SYD8801蓝牙profile(UUID)的使用说明
SYD8801的profile(UUID)是通过专门的工具《SYD Service Utility》生成的(制作步骤请看:http://blog.csdn.net/chengdong1314/article/details/70138657),制作好后将得到《XXXXXXXXXX_Flash.txt》文件,比如《SYD8801EVB_Flash.txt》。然后通过《EVBUtility》工具把该文件烧录到芯片中(烧录步骤请看:http://blog.csdn.net/chengdong1314/article/details/70161095中的烧录Service文件相关内容)供SYD8801底层代码使用。SYD8801和主机之间的交互都以《XXXXXXXXXX_Flash.txt》文件的内容作为依据,比如在《XXXXXXXXXX_Flash.txt》里面没有定义UUID为0x0004的特性,当主机对蓝牙进行0x0004的特性进行访问的时候,SYD8801将返回错误的响应!
另外,《XXXXXXXXXX_Flash.txt》文件中定义的内容也是SYD8801底层协议栈上报相关事件的依据,比如当主机对SYD8801的UUID为0x0002的特性进行写操作的时候,SYD8801底层协议栈上报的内容将包括0x0002这个描述,以便上层应用明白当前写操作是针对UUID为0x0002这个特性。
蓝牙profile(UUID)的使用:
使用《SYD Service Utility》生成好profile(UUID)后,该工具将生成如下图的文件:
《SYD8801EVB_Flash.txt》是烧录到芯片中的文件,《SYD8801EVB_service.h》是专门给应用程序参考使用的文件。其内容如下:
这里写明了各个service以及特征和描述符的UUID定义以及handle,这些将在代码中有用。
协议栈上报事件的时候将会包含相应的UUID和handle,至于该UUID和handle具体是什么服务,有什么功能都是用户在《SYD Service Utility》中定义的,也就是说应用层关于《SYD Service Utility》的UUID定义以及handle的定义必须和协议栈协商一致,否则会出现混乱的情况。
应用层代码中使用到service以及特征和描述符的UUID定义以及handle大体上有四个地方,具体为:ble_evt_callback函数、ble_gatt_read函数、ble_gatt_write函数以及BLE_SendData函数,这里根据《SYD8801EVB_service.h》文件对手头的代码做相应的修改即可!
关于ble_evt_callback函数的说明和修改请看:http://blog.csdn.net/chengdong1314/article/details/73929998中的协议栈上报事件处理相关说明
关于BLE_SendData函数的说明和修改请看:http://blog.csdn.net/chengdong1314/article/details/76169279的BLE_SendData函数相关说明!
另外对于《SYD8801EVB_Flash.txt》和《《SYD8801EVB.txt》》文件的更深入说明请看:http://blog.csdn.net/chengdong1314/article/details/60870526
相关文章推荐
- __declspec,uuid,__uuidof 使用说明
- SVN客户端--TortoiseSVN使用说明
- php 魔术函数使用说明
- ViewPager介绍和使用说明
- GridView ObjectDataSource 一些使用说明
- 关于linux vi命令替换的使用说明
- ROS 2 ardent apalone安装和使用说明
- 转载Repository 和Unit of work的使用说明
- cmake使用说明
- jQuery对象和DOM对象使用说明
- Android NDK使用示例说明
- svn 使用说明
- 举例说明你什么时候会用抽象类,什么时候更愿意使用接口?
- 药品使用说明书 (转载)
- MongoDB bin目录说明及使用
- linux内核模块相关命令:lsmod,depmod,modprobe,modinfo,insmod,rmmod 使用说明
- libRTMP使用说明
- node.js中的fs.fstat方法使用说明
- (六)-UITableView几个方法的使用说明
- google code 免费svn服务器使用说明