微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 关于simpleProfile_ReadAttrCB()和 simpleProfile_WriteAttrCB()

关于simpleProfile_ReadAttrCB()和 simpleProfile_WriteAttrCB()

时间:10-02 整理:3721RD 点击:

蓝牙从机程序中,simpleGATTProflie.c的文件定义了simpleProfile_ReadAttrCB()和 simpleProfile_WriteAttrCB()这两个函数,请问这两个程序在哪里被调用了?

Hi cg

    这两个函数包含在gattServiceCBs_t 类型的结构体里CONST gattServiceCBs_t simpleProfileCBs,这个结构体在使用GATTServApp_RegisterService()注册服务时,被作为底层读写的回调函数写入。

    这两个函数,其实是在底层协议栈(被封装成库)对应用层读写特征值时的被调用的。我们只需知道注册服务时,需要注册这写回调函数,并且知道如何修改这两个函数即可,至于具体怎么被调用这个不用关心,毕竟底层调用时我们是无法跟踪的。

谢谢了!

那么他与这两个函数的区别是什么

SimpleProfile_GetParameter(),SimpleProfile_SetParameter(),

GetParameter和SetParameter是被上层调用的读写接口

在调用了这个之后回调函数才会被call到

1、

SimpleProfile_GetParameter(),SimpleProfile_SetParameter()  这两个函数是被应用层所调用的,也就是在你写的应用程序想读取或写UUID的值就通过这两个

函数实现

2、simpleProfile_ReadAttrCB()与simpleProfile_WriteAttrCB是供底层来调用的,也就是RF想知道UUID要发送的数据或从主机接收到的UUID的值,都是通过这两个函数传递过来的

在调用SimpleProfile_SetParameter()发送蓝牙数据的时候,会出现小概率的死机;在调用SimpleProfile_GetParameter的时候,会出现小概率的无法收到数据;请问可能是什么原因造成的呢?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top