设为首页收藏本站

Discuz! Board

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 3974|回复: 2
打印 上一主题 下一主题

请教一个函数

[复制链接]

9

主题

18

帖子

128

积分

注册会员

Rank: 2

积分
128
跳转到指定楼层
楼主
ldcung 发表于 2015-9-3 23:24:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ldcung 于 2015-9-3 23:25 编辑

在LED例程中,事件处理函数如下:

void ble_lbs_on_ble_evt(ble_lbs_t * p_lbs, ble_evt_t * p_ble_evt)
{
    switch (p_ble_evt->header.evt_id)
    {
        case BLE_GAP_EVT_CONNECTED:
            on_connect(p_lbs, p_ble_evt);
            break;
            
        case BLE_GAP_EVT_DISCONNECTED:
            on_disconnect(p_lbs, p_ble_evt);
            break;
            
        case BLE_GATTS_EVT_WRITE:
            on_write(p_lbs, p_ble_evt);
            break;
            
        default:
            // No implementation needed.
            break;
    }
}
里面调用了   on_connect(p_lbs, p_ble_evt); 函数。但是这个函数的原型是
static void on_connect(ble_evt_t * p_ble_evt)
{
    // Save connection parameters
    m_conn_handle         = p_ble_evt->evt.gap_evt.conn_handle;
    m_current_conn_params = p_ble_evt->evt.gap_evt.params.connected.conn_params;
    m_update_count        = 0;  // Connection parameter negotiation should re-start every connection
   
    // Check if we shall handle negotiation on connect
    if (m_conn_params_config.start_on_notify_cccd_handle == BLE_GATT_HANDLE_INVALID)
    {
        conn_params_negotiation();
    }
}
为什么这个函数的形参只有一个,但是调用的时候传进来两个实参?而且传进来的第一个实参p_lbs在哪里用到了?
还请大神们指点迷津。小弟不胜感激!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

9

主题

18

帖子

128

积分

注册会员

Rank: 2

积分
128
沙发
 楼主| ldcung 发表于 2015-9-4 10:10:22 | 只看该作者
哦,我已经搞明白了,原来那个不是真正的函数原型,真正的函数原型如下:

static void on_connect(ble_lbs_t * p_lbs, ble_evt_t * p_ble_evt)
{
    p_lbs->conn_handle = p_ble_evt->evt.gap_evt.conn_handle;
}
回复 支持 反对

使用道具 举报

243

主题

1706

帖子

6151

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6151
板凳
admin 发表于 2015-9-4 11:09:48 | 只看该作者
ldcung 发表于 2015-9-4 10:10
哦,我已经搞明白了,原来那个不是真正的函数原型,真正的函数原型如下:

static void on_connect(ble_l ...

的确,你找错函数了
回复 支持 反对

使用道具 举报

Archiver|手机版|小黑屋|Comsenz Inc.   

GMT+8, 2024-4-25 09:52 , Processed in 0.120201 second(s), 28 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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