Слияние кода завершено, страница обновится автоматически
/**
* \file kv_main.c
* \brief
* \version 0.1
* \date 2022-10-29
* \author notrynohigh (notrynohigh@outlook.com)
*
* Copyright (c) 2020 by notrynohigh. All Rights Reserved.
*/
#include "../port.h"
#include "b_os.h"
B_TASK_CREATE_ATTR(task1_attr);
B_TASK_CREATE_ATTR(task2_attr);
uint8_t buf[1024];
B_QUEUE_CREATE_ATTR(q_attr, buf, 1024);
bQueueId_t gqueueId = NULL;
PT_THREAD(test_task1)(struct pt *pt, void *arg)
{
static uint32_t tmp = 0;
PT_BEGIN(pt);
while (1)
{
bQueuePutBlock(pt, gqueueId, &tmp, 1000);
if(PT_WAIT_IS_TIMEOUT(pt))
{
b_log("put timeout\r\n");
}
tmp += 1;
}
PT_END(pt);
}
PT_THREAD(test_task2)(struct pt *pt, void *arg)
{
uint32_t tmp = 0;
PT_BEGIN(pt);
while (1)
{
bTaskDelayMs(pt, 1000);
bQueueGetBlock(pt, gqueueId, &tmp, 0xffffffff);
if(PT_WAIT_IS_TIMEOUT(pt))
{
b_log("get timeout\r\n");
}
else
{
b_log("hello [%d][%d]\r\n",bQueueGetCount(gqueueId), tmp);
}
}
PT_END(pt);
}
int main()
{
port_init();
bInit();
gqueueId = bQueueCreate(10, sizeof(uint32_t), &q_attr);
b_log("q:%p\r\n", gqueueId);
bTaskCreate("task1", test_task1, NULL, &task1_attr);
bTaskCreate("task2", test_task2, NULL, &task2_attr);
while (1)
{
bExec();
}
return 0;
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )