找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

BES-创建一个线程

2020-7-13 15:32| 发布者: zxh_love_zqf| 查看: 1594| 评论: 1

摘要: 注意:在创建线程的时候需要在app_thread.h 中的APP_MOODUAL_ID_T 中添加线面的句柄 // 创建一个线程 // APP_MODUAL_ANC-- 线程的句柄 app_anc_handle_process-- 线程运行的函数 app_set_threadhandle(APP_MODUAL_AN ...
注意:在创建线程的时候需要在app_thread.h 中的APP_MOODUAL_ID_T 中添加线面的句柄
// 创建一个线程   
// APP_MODUAL_ANC--> 线程的句柄 app_anc_handle_process--> 线程运行的函数
app_set_threadhandle(APP_MODUAL_ANC, app_anc_handle_process);

// 通过运行对于的函数去运行线程函数
void app_anc_status_post_extend(uint32_t param0, uint32_t param1, uint32_t param2)
{
    APP_MESSAGE_BLOCK msg;
    TRACE(" %s param0:0x%04X param1:%d param2:%d", __func__, param0, param1, param2);
    // 想要运行的线程ID,也就是创建线程时用到的句柄
    msg.mod_id = APP_MODUAL_ANC;
    // 在运行线程函数时需要用到的ID。因为一个线程函数中有可能会进行多个处理。
    // 所以通过对于case id 来区分对应的需要做什么处理
    msg.msg_body.message_id = ANC_EVENT_CHANGE_STATUS;
    // 下面的几个是创参数。可以不传
    msg.msg_body.message_Param0 = param0;
    msg.msg_body.message_Param1 = param1;
    msg.msg_body.message_Param2 = param2;
    // 将对于的线程函数运行
    app_mailbox_put(&msg);
}
// 线程函数
static int app_anc_handle_process(APP_MESSAGE_BODY *msg_body)
{
    // 下面是运行之前传进来的参数。可以不传
    uint32_t arg0 = msg_body->message_Param0;
    uint32_t arg1 = msg_body->message_Param1;
    uint32_t arg2 = msg_body->message_Param2;
    // 发送线程函数中的 case id
    switch (msg_body->message_id)
    {
    ...
    }
}

// 关闭线程 将句柄对于的函数设为空
app_set_threadhandle(APP_MODUAL_ANC, NULL);

1

路过
1

雷人

握手

鲜花

鸡蛋

刚表态过的朋友 (2 人)

发表评论

最新评论

引用 in0501 2021-7-12 15:26
好,感谢 分享

查看全部评论(1)

小黑屋|手机版|我爱蓝牙网 - 52Bluetooth

GMT+8, 2024-4-23 20:07 , Processed in 0.190749 second(s), 31 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部