Discuz! Board

标题: 蓝牙样本工程 [打印本页]

作者: 稳稳的Lau    时间: 2016-11-20 11:21
标题: 蓝牙样本工程
青风哥,我有一些问题不理解,麻烦讲解一下吧 就是咱们提供的蓝牙工程例程里 ble_stack_init();这句协议栈初始化是指S110吗 后边的 gap_params_init();    advertising_init();分别是GAP和GATT初始化吗  S110协议栈都包括什么 主协议层(GAP和GATT等)和控制层(HCI和LL等)?S110里不是都包含主协议层控制层的吗 为什么还要单独有gap_params_init();
    advertising_init();这两个函数呢


作者: 西风胡杨    时间: 2016-11-21 10:25
个人感觉gap_params_init()和advertising_init()都是gap初始化的。
gap_params_init()主要初始化一些gap的连接参数,设备名字;
advertising_init()主要是把所需要的广播参数传送到协议栈,也就是设置广播的模式,需要广播的的UUID等参数;
ble_stack_init()是完成协议栈的初始化不错,但是主要是注册了事件派发函数,协议栈上抛上来的事件就由事件派发函数派发到处理相关事件的服务以及模块,而其他各种初始化主要负责各种广播、连接、安全参数的填充。
有说的不对的地方,望楼下指正,共同学习
作者: 稳稳的Lau    时间: 2016-11-21 14:13
西风胡杨 发表于 2016-11-21 10:25
个人感觉gap_params_init()和advertising_init()都是gap初始化的。
gap_params_init()主要初始化一些gap的 ...

也就是说ble_stack_init()这个函数主要是对时间派发函数的和时钟的初始化,但是主协议层的gap_params_init()和advertising_init()之类的要单独初始化,就拿S110来说其实这些函数都包含在协议栈S110里?
作者: 西风胡杨    时间: 2016-11-21 16:58
稳稳的Lau 发表于 2016-11-21 14:13
也就是说ble_stack_init()这个函数主要是对时间派发函数的和时钟的初始化,但是主协议层的gap_params_ini ...

按照我自己的理解应该是这样子的。这些参数都是通过协议栈函数注册的。
作者: 稳稳的Lau    时间: 2016-11-21 17:38
西风胡杨 发表于 2016-11-21 16:58
按照我自己的理解应该是这样子的。这些参数都是通过协议栈函数注册的。

目前也是这样理解,很高兴和你交流探讨,我是新手,这里能加好友吗
作者: 稳稳的Lau    时间: 2016-11-21 17:39
西风胡杨 发表于 2016-11-21 16:58
按照我自己的理解应该是这样子的。这些参数都是通过协议栈函数注册的。

目前也是这样理解,我是新手很高兴和您交流,这里能加好友吗
作者: 西风胡杨    时间: 2016-11-21 17:54
稳稳的Lau 发表于 2016-11-21 17:39
目前也是这样理解,我是新手很高兴和您交流,这里能加好友吗

我也是个新手,还在自己学习,感觉好头疼啊
作者: admin    时间: 2016-11-21 20:49
西风胡杨 发表于 2016-11-21 17:54
我也是个新手,还在自己学习,感觉好头疼啊

正好写了个在SDK10基础上的advertising_init()的解析,gap_params_init()再之前也写了解析哦[attach]1494[/attach][attach]1495[/attach]
作者: aeqw    时间: 2017-2-14 09:21
新手+1...
SDK11都還搞不動,現在似乎已經出現SDK13了!!




欢迎光临 Discuz! Board (http://www.qfv8.com/) Powered by Discuz! X3