55 lines
2.2 KiB
C
55 lines
2.2 KiB
C
![]() |
#ifndef __YCOS_H
|
|||
|
#define __YCOS_H
|
|||
|
#include <stdint.h>
|
|||
|
#include <stdbool.h>
|
|||
|
|
|||
|
|
|||
|
#define YCOSTASK_MAX 16 //YCOS<4F><53>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define YCOSTICK_RATE_HZ (100) //YCOSʱ<53>ӽ<EFBFBD><D3BD><EFBFBD>Ƶ<EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ100<30><30><EFBFBD><EFBFBD><EFBFBD>ھ<EFBFBD><DABE><EFBFBD>1/10 = 100ms
|
|||
|
|
|||
|
/******************************************************************************
|
|||
|
*<EFBFBD>û<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*******************************************************************************/
|
|||
|
typedef void (*YCOSTASKFP)() ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD>
|
|||
|
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
YCOSTASK_HIGHPRIO = 1 , //YcOS<4F><53><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
YCOSTASK_LOWPRIO = 2 //YcOS<4F><53><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}YcOSTaskPrio_e ; //YcOS<4F><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
|
|||
|
|
|||
|
|
|||
|
typedef struct //YcOSTasks<6B>ṹ<EFBFBD>壬<EFBFBD><E5A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>YcOS<4F><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
{
|
|||
|
const char *taskName ; //YcOS<4F><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
bool enTask ; //YcOS<4F><53><EFBFBD><EFBFBD>ʹ<EFBFBD>ܱ<EFBFBD>־λ
|
|||
|
YcOSTaskPrio_e eTaskPrio ; //YcOS<4F><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
|
|||
|
uint32_t taskTickInterval ; //YcOS<4F><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
YCOSTASKFP pFunc; //YcOS<4F><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ҫִ<D2AA>еĴ<D0B5><C4B4>뺯<EFBFBD><EBBAAF>ָ<EFBFBD><D6B8>
|
|||
|
}YcOSTask_s ; //YcOS<4F><53><EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><E1B9B9> <20>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
|||
|
typedef YcOSTask_s* psYcOSTaskHandle ; //YsOS<4F><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
/******************************************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*******************************************************************************/
|
|||
|
extern YcOSTask_s sYcOSTask[YCOSTASK_MAX] ; //<2F><><EFBFBD><EFBFBD>YcOSTasks<6B><73><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD>飬<EFBFBD><E9A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>YCOS<4F><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
|||
|
/*****************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿں<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
****************************************/
|
|||
|
extern psYcOSTaskHandle YcOSTaskCreate( const char * const pcTaskName,
|
|||
|
const YcOSTaskPrio_e eTaskPrio,
|
|||
|
const uint32_t taskTickInterval,
|
|||
|
const int taskID,
|
|||
|
const YCOSTASKFP pCallback ); //YcOS<4F><53><EFBFBD><EFBFBD><F1B4B4BD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
extern void YcOSTaskDelete(psYcOSTaskHandle psTask) ;
|
|||
|
extern void YcOSTaskStart(psYcOSTaskHandle psTask) ;
|
|||
|
extern void YcOSTaskStop(psYcOSTaskHandle psTask) ;
|
|||
|
extern void YcOSLowPrioSchedulerCallback(void) ; //YcOS<4F><53><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
extern void YcOSHighPrioSchedulerCallback(void) ; //YcOS<4F><53><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
|
|||
|
#endif
|
|||
|
|