rtos.c

来自「汽车上四车窗升降器:包括电路图与源程序」· C语言 代码 · 共 116 行

C
116
字号
#ifndef _RTOS_C_
#define _RTOS_C_


#include "global.h"

/************************************************************************/
/*											  RTOS Sevice Routines  												*/
/************************************************************************/

void fRTOS_OperateMissing(void)
{
	bHavePassed8ms = 0;
	vRTOS_TimerCounter++;

																	fRTOS_Operate8msEvent();	
	if(vRTOS_TimerCounter%5==0)		fRTOS_Operate40msEvent();
	if(vRTOS_TimerCounter%12==0)	fRTOS_Operate100msEvent();
	if(vRTOS_TimerCounter%120==0)	fRTOS_Operate1sEvent();
}

void  fRTOS_Operate8msEvent(void){		
		if ( bIGNIsOk )
		{
			fScanKeyPort();
			fProcessKeyEnter();
		}

		if(bEnIGNOffTimer)
		{
			if(	bIGNIsOk )
			if( vIGNOffTimerCounter++ > mIGNOff60s )
			{	
				bIGNIsOk = 0;
				bEnIGNOffTimer = 0;
				vIGNOffTimerCounter = 0;
			}
		}
}

/***********************************************/void  fRTOS_Operate40msEvent(void){

		nop();
		fDiagMOvd();
		nop();
		fDealWithDiag();
		nop();
}


/*************************************************/void  fRTOS_Operate100msEvent(void){	if(bEnDrLRTC)
	{
		if(vDrLRTC++ > mLockedRotorTime) 
		{
			bEnDrLRTC = 0;
			vDrLRTC = 0;	
		}	
	}

	if(bEnFPLRTC)
	{
		if(vFPLRTC++ > mLockedRotorTime) 
		{
			bEnFPLRTC = 0;
			vFPLRTC = 0;	
		}	
	}


	if(bEnRRLRTC)
	{
		if(vRRLRTC++ > mLockedRotorTime) 
		{
			bEnRRLRTC = 0;
			vRRLRTC = 0;	
		}	
	}



	if(bEnRLLRTC)
	{
		if(vRLLRTC++ > mLockedRotorTime) 
		{
			bEnRLLRTC = 0;
			vRLLRTC = 0;	
		}	
	}
}


/*************************************************/
void fRTOS_Operate1sEvent(void)
{		
		 	
		fGetPowerVolt();
		nop();
		fDiagMOvd();
		nop();
}
/********************************** end of RTOS Mission  ******************************************/


#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?