首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >CSDK中at_client.c中client_parser()任务不进行阻塞,不会造成任务饥饿么?

CSDK中at_client.c中client_parser()任务不进行阻塞,不会造成任务饥饿么?

提问于 2023-06-07 19:59:40
回答 0关注 0查看 36

物联网设备端开发AT模组中AT线程问题,client_parser()任务不进行阻塞,这样不会造成任务饥饿么?RT-THREAD中就有信号量机制

源码

#ifdef AT_OS_USED

static void client_parser(void *userContex)

{

int resp_buf_len = 0;

const at_urc *urc;

int line_counts = 0;

at_client_t client = at_client_get();

Log_d("client_parser start...");

while (1) {

if (at_recv_readline(client) > 0) {

#ifdef AT_DEBUG

const char *cmd = NULL;

int cmdsize = 0;

cmd = at_get_last_cmd(&cmdsize);

Log_d("last_cmd:(%.*s), readline:%s", cmdsize, STRING_PTR_PRINT_SANITY_CHECK(cmd),

STRING_PTR_PRINT_SANITY_CHECK(client->recv_buffer));

#endif

if ((urc = get_urc_obj(client)) != NULL) {

/* current receive is request, try to execute related operations */

if (urc->func != NULL) {

urc->func(client->recv_buffer, client->cur_recv_len);

}

}

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档