结构体
来源:互联网 发布:淘宝如何解除合并付款 编辑:程序博客网 时间:2024/06/05 20:09
//定义结构体
typedef struct
{
uint8_t active : 1; /**< If 1, perform active scanning (scan requests). */
uint8_t selective : 1; /**< If 1, ignore unknown devices (non whitelisted). */
ble_gap_whitelist_t * p_whitelist; /**< Pointer to whitelist, NULL if no whitelist or the current active whitelist is to be used. */
uint16_t interval; /**< Scan interval between 0x0004 and 0x4000 in 0.625ms units (2.5ms to 10.24s). */
uint16_t window; /**< Scan window between 0x0004 and 0x4000 in 0.625ms units (2.5ms to 10.24s). */
uint16_t timeout; /**< Scan timeout between 0x0001 and 0xFFFF in seconds, 0x0000 disables timeout. */
} ble_gap_scan_params_t;
//定义结构体,并结构体初始化
#define SCAN_INTERVAL 0x00A0 /**< Determines scan interval in units of 0.625 millisecond. */
#define SCAN_WINDOW 0x0050 /**< Determines scan window in units of 0.625 millisecond. */
#define SCAN_ACTIVE 1 /**< If 1, performe active scanning (scan requests). */
#define SCAN_SELECTIVE 0 /**< If 1, ignore unknown devices (non whitelisted). */
#define SCAN_TIMEOUT 0x0000 /**< Timout when scanning. 0x0000 disables timeout. */
ble_gap_scan_params_t m_scan_params =
{
.active = SCAN_ACTIVE,
.selective = SCAN_SELECTIVE,
.p_whitelist = NULL,
.interval = SCAN_INTERVAL,
.window = SCAN_WINDOW,
.timeout = SCAN_TIMEOUT
};
typedef struct
{
uint8_t event_id;
dm_event_param_t event_param;
uint16_t event_paramlen;
} dm_event_t;
typedef union
{
ble_gap_evt_t * p_gap_param;
dm_application_context_t * p_app_context;
dm_service_context_t * p_service_context;
dm_device_context_t * p_device_context;
} dm_event_param_t;
typedef struct
{
uint16_t conn_handle;
union
{
ble_gap_evt_connected_t connected;
ble_gap_evt_disconnected_t disconnected;
ble_gap_evt_conn_param_update_t conn_param_update;
ble_gap_evt_sec_params_request_t sec_params_request;
ble_gap_evt_sec_info_request_t sec_info_request;
ble_gap_evt_passkey_display_t passkey_display;
ble_gap_evt_key_pressed_t key_pressed;
ble_gap_evt_auth_key_request_t auth_key_request;
ble_gap_evt_lesc_dhkey_request_t lesc_dhkey_request;
ble_gap_evt_auth_status_t auth_status;
ble_gap_evt_conn_sec_update_t conn_sec_update;
ble_gap_evt_timeout_t timeout;
ble_gap_evt_rssi_changed_t rssi_changed;
ble_gap_evt_adv_report_t adv_report;
ble_gap_evt_sec_request_t sec_request;
ble_gap_evt_conn_param_update_request_t conn_param_update_request;
ble_gap_evt_scan_req_report_t scan_req_report;
} params;
} ble_gap_evt_t;
typedef struct
{
uint8_t auth_status;
uint8_t error_src : 2;
uint8_t bonded : 1;
ble_gap_sec_levels_t sm1_levels;
ble_gap_sec_levels_t sm2_levels;
ble_gap_sec_kdist_t kdist_own;
ble_gap_sec_kdist_t kdist_peer;
} ble_gap_evt_auth_status_t;
static uint32_t device_manager_evt_handler(dm_handle_t const * p_handle,
dm_event_t const * p_evt,
ret_code_t event_result)
{
switch (p_evt->event_id)
if(p_evt->event_param.p_gap_param->params.auth_status.auth_status == BLE_GAP_SEC_STATUS_SUCCESS)
}
------------------------------------------------------------------------------------
typedef struct
{
ble_evt_hdr_t header;
union
{
ble_common_evt_t common_evt;
ble_gap_evt_t gap_evt;
ble_l2cap_evt_t l2cap_evt;
ble_gattc_evt_t gattc_evt;
ble_gatts_evt_t gatts_evt;
} evt;
} ble_evt_t;
typedef struct
{
uint16_t conn_handle;
union
{
ble_gap_evt_connected_t connected;
ble_gap_evt_disconnected_t disconnected;
ble_gap_evt_conn_param_update_t conn_param_update;
ble_gap_evt_sec_params_request_t sec_params_request;
ble_gap_evt_sec_info_request_t sec_info_request;
ble_gap_evt_passkey_display_t passkey_display;
ble_gap_evt_key_pressed_t key_pressed;
ble_gap_evt_auth_key_request_t auth_key_request;
ble_gap_evt_lesc_dhkey_request_t lesc_dhkey_request;
ble_gap_evt_auth_status_t auth_status;
ble_gap_evt_conn_sec_update_t conn_sec_update;
ble_gap_evt_timeout_t timeout;
ble_gap_evt_rssi_changed_t rssi_changed;
ble_gap_evt_adv_report_t adv_report;
ble_gap_evt_sec_request_t sec_request;
ble_gap_evt_conn_param_update_request_t conn_param_update_request;
ble_gap_evt_scan_req_report_t scan_req_report;
} params;
} ble_gap_evt_t;
typedef struct
{
uint8_t auth_status;
uint8_t error_src : 2;
uint8_t bonded : 1;
ble_gap_sec_levels_t sm1_levels;
ble_gap_sec_levels_t sm2_levels;
ble_gap_sec_kdist_t kdist_own;
ble_gap_sec_kdist_t kdist_peer;
} ble_gap_evt_auth_status_t;
static void on_ble_evt(ble_evt_t * p_ble_evt)
{
if(p_ble_evt->evt.gap_evt.params.auth_status.auth_status == BLE_GAP_SEC_STATUS_SUCCESS)
}
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体,,,,
- 结构体
- 结构体
- RecyclerView局部刷新爬坑之路
- Ubuntu 无法解析域名
- 递归递推专题 C 递归的函数
- 腾讯2016校招笔试题
- Mapper里的sql语句注解
- 结构体
- LinkedHashMap源码解析
- Mysql的查看数据库和数据库中表格
- 设计模式之模式分类
- 算法导论 练习题 4.3-8
- 绕脑的汉诺塔递归
- C++复习——类(class)的实现与定义
- 常见排序算法——选择排序、冒泡排序、插入排序和原地排序
- 性能测试平台效率优化的一次经验(python版)