首页 > 其他分享 >【WCH蓝牙系列芯片】-基于CH582开发板—从机主动使能通知(notify)

【WCH蓝牙系列芯片】-基于CH582开发板—从机主动使能通知(notify)

时间:2023-10-12 11:44:05浏览次数:39  
标签:使能 enable 通知 蓝牙 开发板 从机 notify cccd

-------------------------------------------------------------------------------------------------------------------------------------

在EVT例程BLE-UART蓝牙透传功能中,通过串口发送数据至蓝牙时,每次需要开启notify,才能接受新的数据。

当串口向蓝牙发送数据后,再打开notify,APP并不会读取到任何数据。
针对这个问题,可以进行改变。一般都是主机使能通知,再开始接受数据。

现在可以添加一个函数,让从机自己主动使能通知(notify),这样串口发送数据至蓝牙就可以直接读取数据。

在BLE-UART例程中,在ble_uart_service.c中添加使能通知的函数:

//定义使能通知函数(connection_handle连接句柄,表示要进行操作的连接)
uint8 enable_notify(uint16 connection_handle, uint8 enable)
{
    uint16 cccd = 0;   //定义一个变量cccd,特征的配置值
    //判断是否使能通知
    if(enable)   //使能
    {
        cccd |= GATT_CLIENT_CFG_NOTIFY;  //将cccd置为使能通知的值
    }

    else
    {
        cccd &= ~GATT_CLIENT_CFG_NOTIFY;  //不使能,将cccd置为禁止通知的值
    }
    return GATTServApp_WriteCharCfg( connection_handle, ble_uart_TxCCCD, cccd );  //将特征配置值写入到连接句柄,以实现通知的使能或禁用
}

 在ble_uart_service.h中声明这个函数,extern uint8 enable_notify(uint16 connection_handle,uint8 enable);

 在连接后此函数(Peripheral_LinkEstablished)调用使能通知函数,就可以了。

此时,当串口发送数据给蓝牙时,不需要手动开启通知,直接就可以读取数据。

 

标签:使能,enable,通知,蓝牙,开发板,从机,notify,cccd
From: https://www.cnblogs.com/ZYL-FS/p/17759138.html

相关文章

  • MTK8183/MT8183安卓4G核心板_联发科安卓手机开发板主板方案定制
    MediaTek MT8183整合先进功能和AI的主流Chromebook平台MTK8183又称为MediaTekKompanio500,是一款支持强大功能的Chromebook平台,结合多种高功能硬件于单一高效能芯片。支持连接选项包括Wi-Fi、蓝芽和GNSS,外围设备可选择连接USB3(5Gbps)和SDIO,以协助品牌厂商能以各种效能水......
  • 从机器学习到深度学习知识体系梳理
    这几天看到一本书《从机器学习到深度学习(基于scikit-learn与Tensorflow的高效开发实战)》感觉非常适合AI知识架构的搭建,在这里记录一下,其实里面还有非常棒的细节,比如:把Numpy、Pandas、Matplotlib作为了Python基础工具,感觉这个思路非常好可以用自己的知识体系梳理作者把各知识......
  • 迅为RK3588开发板添加 RIL 驱动程序库
    将Quectel提供的相应RIL库文件放入Android系统的以下路径。作者拷贝到了源码的android_build/device/fsl/imx8m/evk_8mm/lib目录下,如下图所示:然后将apns-conf.xml拷贝到android_build/device/fsl/imx8m/evk_8mm/下,如下图所示:B站搜索-北京迅为RK3588开发板,公众Hao关注:......
  • Docker搭建Mysql主从机制
    Mysql主从复制1基础准备由于家境贫寒没有那么多的云资源供我操作,只能使用docker进行模拟了。拉取镜像简单得很就先不谈了。直接开整。以下操作基于mysql:5.7进行一主二从配置。2主库配置运行容器dockerrun-p3306:3306--namemysql-slaver-2-eMYSQL_ROOT_PASSWOR......
  • ARM开发板学习
    ARM开发板学习1、蜂鸣器配饰和时间函数开发#include<stdio.h>#include<wiringPi.h>#include<unistd.h>#defineBEEP0//设置针脚0为蜂鸣器的控制引脚intmain(void){wiringPiSetup();//初始化wiringPi库ipinMode(BEEP,OUTPUT);//设置IO口的输入......
  • 痞子衡嵌入式:MCUBootUtility v5.3发布,利用XMCD轻松使能外部RAM
    --痞子衡维护的NXP-MCUBootUtility工具距离上一个大版本(v5.0.0)发布过去4个多月了,期间痞子衡也做过三个小版本更新,但不足以单独介绍。这一次痞子衡为大家带来了全新重要版本v5.3.x,这次更新主要是想和大家特别聊聊XMCD这个特性的支持。一、v5.1-v5.3更新记录--v5.1.......
  • 如何选择米尔基于STM32MP1系列核心板和开发板
    一款合适的处理器,是每个工程师在开发设计前期调研必须面对的难题。而如何挑选一款符合产品开发的处理器呢?今天我们就以ST公司的STM32MP1系列处理器进行分析比较。ST公司目前已经发布了两款不同类型的MPU芯片,分别是STM32MP15系列和STM32MP13系列。这两款芯片的特点十分鲜明:STM32MP......
  • 【WCH蓝牙系列芯片】-基于CH582开发板—BLE从机开启HAL Sleep模式
    ---------------------------------------------------------------------------------------------------------------------在WCH沁恒官方提供的CH583的EVT资源包中,找到BLE文件中找到【Peripheral:外设从机角色例程】这个工程文件,在这个工程文件中,添加HALSleep模式,开启低功耗模......
  • CH573 CH582 CH579蓝牙从机(Peripheral)/主机(Central)例程讲解一(蓝牙主从机收发数据
    原文链接:https://www.cnblogs.com/risc5-ble/p/15994545.html前言:蓝牙从机,顾名思义,就是一个蓝牙从设备,可以不断发送广播等待与主机建立连接进行通信,建立连接后,可以通知主机,也可以收到主机发的信息,一般使用BLE调试助手(安卓应用市场可下载),ios可使用Lightblue来进行调试通信等......
  • 文档升级 | iTOP-RK3568开发板ADB工具的安装和使用
    iTOP-RK3568开发板使用手册更新,后续资料会不断更新,不断完善,帮助用户快速入门,大大提升研发速度。《iTOP-3568开发板ADB使用手册》进行了文档升级,对ADB工具的安装和使用进行了更全面的步骤介绍。第1章安装adb工具1.1adb简介1.2Windows下安装ADB工具1.3Ubuntu下安装ADB工具第2章......