stm32_ota/ABM开发板(APP源码)/YcOS版本/APPV3.0/YCOS/ycos.h

55 lines
2.2 KiB
C
Raw Permalink Normal View History

2024-12-17 20:03:43 +08:00
#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