📄 freertos.c
字号:
/*
* iRTOS
* Copyright (C) 2009 Dmitriy Cherepanov
FreeRTOS.org V5.1.2 - Copyright (C) 2003-2009 Richard Barry.
This file was the part of the FreeRTOS.org distribution.
It included here for testing purposes. If you wish to distribute
a combined work that includes this sources you MUST do it under the
terms of the GNU General Public License.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with FreeRTOS.org; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/* Scheduler include files. */
#include "src/tests/freeRTOS/FreeRTOS.h"
#include "src/tests/freeRTOS/task.h"
/*-----------------------------------------------------------*/
void vTaskDelay( portTickType xTicksToDelay )
{
iRelTimeout itmp_timeout;
itmp_timeout=(iRelTimeout) {1,xTicksToDelay};
ithread_wait((iTimeout *)&itmp_timeout);
};
/*-----------------------------------------------------------*/
#include "kernel/queue.h"
#include "src/tests/freeRTOS/queue.h"
/*-----------------------------------------------------------*/
signed portBASE_TYPE xQueueGenericSend(
xQueueHandle xQueue, const void * const pvItemToQueue,
portTickType xTicksToWait, portBASE_TYPE xCopyPosition )
{
iRelTimeout itmp_timeout;
itmp_timeout=(iRelTimeout) {1,xTicksToWait};
if (queue_write_generic(xQueue, pvItemToQueue,
(iTimeout *)&itmp_timeout,xCopyPosition) == 0)
return pdTRUE;
else
return pdFALSE;
}
signed portBASE_TYPE xQueueGenericReceive( xQueueHandle xQueue, void * const pvBuffer,
portTickType xTicksToWait, portBASE_TYPE xJustPeek )
{
iRelTimeout itmp_timeout;
itmp_timeout=(iRelTimeout) {1,xTicksToWait};
if (xJustPeek == pdTRUE )
xJustPeek = CYCLIC_BUFERR_MEMCOPY_PEEK;
else
xJustPeek = CYCLIC_BUFERR_MEMCOPY_RECIVE;
if (queue_read_generic(xQueue, pvBuffer,
(iTimeout *)&itmp_timeout,xJustPeek) == 0)
return pdTRUE;
else
return pdFALSE;
}
/*-----------------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -