2024年5月9日
摘要: 1、主机和从机传输数据的接口从机接收数据的处理函数 从机发送通知任务给主机,一秒通知一次,单位625us,参数传入1600 主机写数据给从机,一秒一次 主机接收从机的通知数据的处理函数 2、蓝牙主机开启扫描设备 3、蓝牙主机取消扫描设备 4、蓝牙从机修改配对模式,添加密钥 5、动态修改发射功率 6、 阅读全文
posted @ 2024-05-09 11:14 凡仕 阅读(88) 评论(0) 推荐(0) 编辑
  2024年4月29日
摘要: 在CH582的从机例程为例,将原先的16bitUUID改为128bitUUID。第一步:找到要修改的文件,gattprofile.c 第二步:修改UUID,将16bit改为128bit,将原先的ATT_BT_UUID_SIZE,改为ATT_UUID_SIZE,然后将UUID自定义写成128bit 第 阅读全文
posted @ 2024-04-29 10:23 凡仕 阅读(83) 评论(0) 推荐(0) 编辑
  2024年4月22日
摘要: 在使用CH582这款芯片,可以用其内部的RTC跑万年历时钟。 实时时钟(RTC)是一个独立的定时器模块,其可编程计数器最大可达到32位,配合软件可以实现实时时钟功能,并且可以修改计数器的值来重新配置系统的当前时间和日期。RTC模块在后备供电区域,系统复位和待机模式唤醒对其不造成影响。 要想实现万年历 阅读全文
posted @ 2024-04-22 19:30 凡仕 阅读(137) 评论(0) 推荐(0) 编辑
  2024年4月10日
摘要: 在使用蓝牙广播中对服务UUID格式定义都有三种 16 bit UUID、32 bit UUID、128 bit UUID。这几种格式都是相互之间都是可以自定义修改的,这里以BLE例程中的BLE_USB为例,将蓝牙与USB通信的服务的UUID改为128bit格式。 第一步:先找到ble_usb_Ser 阅读全文
posted @ 2024-04-10 13:41 凡仕 阅读(56) 评论(0) 推荐(0) 编辑
  2024年3月18日
摘要: 在蓝牙主机与蓝牙从机建立连接的方式有很多种,默认是通过MAC地址建立连接,这里讲解以蓝牙名称建立连接的方式。先获取到从机的扫描应答包中的蓝牙名称,再对比蓝牙名称的字符串,判断是否获取到正确的蓝牙名称,从而获取设备的MAC地址进行连接。先定义一个将要对比蓝牙名称的字符串BLE_Name。 在主机的回调 阅读全文
posted @ 2024-03-18 18:49 凡仕 阅读(170) 评论(0) 推荐(0) 编辑
  2024年3月13日
摘要: 在使用蓝牙主机的时候,有时需要通过宏定义开启睡眠模式,从而达到降低芯片的功耗。蓝牙的睡眠是由协议栈自行管理的,在芯片睡眠状态下是无法进行数据收发,需要将芯片唤醒之后,才能进行数据收发。 蓝牙芯片的sleep/shut down模式仅支持IO和RTC唤醒,如果想要在芯片睡眠模式下,由串口进行收发数据, 阅读全文
posted @ 2024-03-13 15:26 凡仕 阅读(225) 评论(0) 推荐(0) 编辑
  2024年3月8日
摘要: MTU是指最大传输单元,在一个传输单元中的有效传输数据,够传输的最大数据量(多少字节可以一次性传输到对方)。 一、主机在主机中,如果想要修改单个连接最大包长度,可以在config.h中修改BLE_BUFF_MAX_LEN的值,BLE_BUFF_MAX_LEN=516 在主机程序中可以看到,更新MTU 阅读全文
posted @ 2024-03-08 17:27 凡仕 阅读(147) 评论(0) 推荐(0) 编辑
  2024年3月5日
摘要: 利用CH32V208开发板,通过宏定义开启蓝牙低功耗HAL_SLEEP模式。 蓝牙芯片sleep/shut down模式仅支持IO和RTC唤醒,如果IO只接了串口比如PA2/PA3(UART2),在睡眠前需将串口模式切换为普通IO,并设置唤醒 程序中设置两种外部中断,一种是普通IO口的外部中断,先初 阅读全文
posted @ 2024-03-05 10:32 凡仕 阅读(125) 评论(0) 推荐(0) 编辑
  2024年2月26日
摘要: 在使用CH582蓝牙芯片的过程中,有MultiCentral:主机多连接例程,以582作为主机,主动扫描周围设备;连接至给定的多个从机设备地址,寻找自定义服务及特征,执行读写命令。 在MultiCentral例程中,只写了三个从机的MAC地址,这次修改扩大到六个从机的MAC地址,主机一次性连接六个从 阅读全文
posted @ 2024-02-26 13:35 凡仕 阅读(486) 评论(5) 推荐(0) 编辑
  2024年2月5日
摘要: 基于前面的蓝牙OTA空中升级(一)的基础上,这里将以BLE_UART为例,将BLE_UART实现带OTA功能的程序,依然是方式二不带库升级方式。并且扩大APP的空间,所以我们依然需要四个HEX文件同时烧写。分别是1、 CH58xBLE_ROMx.hex ——带x后缀,指蓝牙库是靠着flash最后的位 阅读全文
posted @ 2024-02-05 16:18 凡仕 阅读(417) 评论(0) 推荐(0) 编辑