找回密码
 立即注册

微信扫码登录

查看: 243|回复: 1

[BLE SDK] SDK包中的一些注册函数他们的参数来自哪里?

[复制链接]

4

主题

0

回帖

30

积分

新手上路

积分
30
发表于 2024-9-3 11:18:52 | 显示全部楼层 |阅读模式
Information
说明:   建议参照本版块置顶帖内容输入必要信息
芯片型号: TLSR8258
SDK及版本: B85m_BLE_Single_Connect_SDK_V3.4.2.4_patch0001
本人新入职一公司,并且蓝牙小白(以前一直没接触过),最近公司计划开发蓝牙产品,原本以为直接用模块,结果直接用贵司8258开发;在研究贵司SDK的过程中遇到很多问题,目前以下面的最为突出:


1、比如这个函数:blc_l2cap_register_handler (app_l2cap_handler);  注册的这个  int app_l2cap_handler (u16 conn_handle, u8 *raw_pkt)它的参数来自哪里呢?在工程里面也没有看见调用了这个函数,处于很懵逼状态;


2、这个函数,blc_hci_registerControllerEventHandler(controller_event_callback);注册了这个  int controller_event_callback (u32 h, u8 *p, int n)回调函数,其参数h 、 p、 n这些参数,p表示event 数据指针,n表示event 数据长度,他们不是固定 的吗?



3、我看SDK手册有提到数据先是存到软件的RX fifo中,vendor/b85m_module demo中有my_fifo_get(&spp_tx_fifo)是在RX fifo里面取来自master的数据吗?我通过log打印出来,打印出来的数据在最前面也有一些类似包头的数据,但是看不懂在哪有定义这些包头?正常的数据是在后面一些,请问这些数据结构在哪可以查询?

48

主题

65

回帖

332

积分

版主

积分
332
发表于 2024-9-5 10:00:15 | 显示全部楼层
1. 在 BLE SDK 架构中,Controller 的数据通过 HCI 与 Host 对接,从 HCI 到 Host 数据,⾸先会在 L2CAP 层处理,使⽤下⾯ API 注册该处理函数:void blc_l2cap_register_handler (void *p)参数来自于底层协议栈,调用也是来自于底层协议栈。
2. Controller HCI event 的 callback 函数原型和注册接⼝分别为:typedef int (*hci_event_handler_t) (u32 h, u8 *para, int n)、void blc_hci_registerControllerEventHandler(hci_event_handler_t handler),callback 函数原型中 para 和 n 表⽰ event 的数据和数据⻓度,该数据和 BLE spec 中定义的⼀致。
3. spp_tx_fifo/spp_rx_fifo属于SPP协议的存储fifo,与RF Rx fifo概念不同。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Telink forum ( 沪ICP备17008231号-1 )

GMT+8, 2024-10-9 21:11 , Processed in 0.078183 second(s), 20 queries .

Powered by Telink 隐私政策

泰凌微电子版权所有 © 。保留所有权利。 2024

快速回复 返回顶部 返回列表