【沁恒RISC-V内核 CH582】使用蓝牙Peripheral例程初次体验蓝牙发送接收数据功能
[复制链接]
今天想初探CH582开发板的蓝牙功能,就按照下载的开发板资料包里面的CH583评估版说明书中的3.4.1 蓝牙 Peripheral 例程演示章节内容的步骤打开了路径为“CH583EVT\EXAM\BLE\Peripheral\Peripheral.wvproj”的项目文件,本来是想着用WCH_link在线烧录程序到开发板的,但是不知道什么烧录失败,显示如下图:
我先用Central主机例程烧录的时候是没有问题的,但是用这个Peripheral外设从机例程烧录就显示这个问题,看这个描述是硬件连接有问题,但是我检查了硬件连接没有发现异样,有知道的网友帮忙分析一下咋回事。因为在线烧录不进去程序,所以我就通过WCHISPTool用USB烧录程序进开发板,如下图:
烧录成功后,打开手机BLE调试助手,打开手机蓝牙开关和定位开关,然后BLE调试APP界面显示如下:
可以看到有搜到CH582开发板的Simple Peripheral设备了,点击CONNECT连接后,可以看到该设备包含的所有服务,如下图:
可以看到有4大部分服务,包括“Generic Access”、“Generic Attribute”、“Device information”和“Unknown Service”,
根据开发板说明书说明,其中Unknown Service 服务就是程序中自定义的一个通讯服务,UUID 为 0xFFE0,点击该条目,界面显示出 0xFFE0 服务下所有的 characteristic,包括“0xFFE1”、“0xFFE2”、“0xFFE3”、“0xFFE4” 和“0xFFE5”,并显示出该服务的 Properties,
点击第一个 characteristic,即“0xFFE1”服务,该服务具有读写属性,在发送输入框输入一个字节,点击发送,数据发送成功后,点击“读取”按钮获取刚才发送的一个 字节,如下图
显示读取的数据就是先发送的数据,然后点击返回到自定义服务的类别中看到 “0xFFE2”,“0xFFE3”分别具有读属性,写属性,可以分别进行读操作和写操作。
点击“0xFFE4”服务,该服务具有通知服务(NOTIFY),即主动发送数据给主机,在操作界面打开“接收通知数据”选项按钮,接收框会每隔一秒接收到设备发送来的字节“0x88”,返回时需要关闭 通知(NOTIFY),取消“接收通知数据”按钮选项,点击关闭按钮返回上一级,如下图:
点击“0xFFE5”服务,该服务具有认证读属性,需要输入配对配对密钥才能读取,在收发界面点击读取按钮就会出现蓝牙配对界面,输入配对码默认是“000000”,选择 PIN 码,点击确定按钮,主机与设备进行配对,配对成功后即可操作该服务,否则不能操作或者设备断开,不过我实际输入配对码“0000”,“000000”和“1234”都配送失败,然后点击几次配对都是失败,不知道正确的配对码是多少,有知道的网友帮忙告诉一下,我自己后面也会在程序里面和手册里面多分析找找。
以上就是今天的评测内容,虽然一开始在线烧录程序失败 ,但是好在用WCHISPTool烧录成功了,后面根据说明书也能初步了解CH582蓝牙设备自定义服务的功能和读写相关属性。虽然没有很深入了解,但是让我对蓝牙设备的一些基础数据首发设置有了一些深刻的理解的认识,后面会多结合协议栈手册分析例程中蓝牙收发数据的功能,同时能修改例程实现一些基础的传感器数据发送和接收。万丈高楼平地起,我相信只要不放弃,持之以恒,就能有所得,有所回报。
|