1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/notrynohigh-BabyOS

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
queue_main.c 1.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
notrynohigh Отправлено 2 лет назад f286ce7
/**
* \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 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/notrynohigh-BabyOS.git
git@gitlife.ru:oschina-mirror/notrynohigh-BabyOS.git
oschina-mirror
notrynohigh-BabyOS
notrynohigh-BabyOS
master