安川_Fn操作逻辑



	- SysInitMain()
		- RpxInitFunManager()
			- 对CLCDFUN/CPNLFUN 初始化
			- CLCDFUN->Exec = RpxFunExeLcd;					/* Execute Function from LCD Operator */
			- CLCDFUN->Begin = RpxFunExeBeginLcd;				/* Begin Function from LCD Operator */
			- CLCDFUN->Finish = RpxFunFinishLcd;				/* Finish Function from LCD Operator */
        - RpxInitOpeManager() //操作寄存器管理初始化
			- COPEREG->TblEntNum = (USHORT)OPEREGTBL_ENTNUM;
			- COPEREG->pTbl = (void *)OPEREGTBL_PTR; //#define OPEREGTBL_PTR    (OpeRegTable)
			- COPEREG->Search = RpxObjSearch;
			- COPEREG->SearchB = RpxObjSearchIdx;
        	- COPEREG->Write = RpxOpeRegWrite;
        - KpxInitMsgInterface()
			- LpxInitMsgInterface()

	- RpxFunExeBeginLcd(struct _CFunction *this,			/* this Pointer 										*/
		LONG	Index,						/* Index of the Function								*/
		UINT 	*FLcdKeyMk,					/* LCDキーMAKE(OFF->ON)フラグ							*/
		UINT 	*FLcdKeyBrk,				/* LCDキーBREAK(ON->OFF)フラグ							*/
		UINT 	*FLcdKeyLvl,				/* LCDキーレベルフラグ									*/
		UINT 	*FOpBlnkKickFlg,			/* LCD点滅用フラグ										*/
		UCHAR	*FTxBuff,					/* LCDオペレータ表示情報								*/
		HMSGIF	Hmsg)
		- LpxFunSetOpeApl()
			- pApp->OpFunMsg.Super = Hmsg;
			- pApp->OpFunMsg.pKeyMk = FLcdKeyMk;
			- pApp->OpFunMsg.pKeyBrk = FLcdKeyBrk;
			- pApp->OpFunMsg.pKeyLvl = FLcdKeyLvl;
			- pApp->OpFunMsg.pBlnkKick = FOpBlnkKickFlg;
			- pApp->OpFunMsg.pTxBuf = FTxBuff;
			- /*--------------------------------------------------------------------------------------------------*/
			- MlibResetLongMemory( pApp->Bss, OPEAPP_BSS_SIZE/4 );
			- pApp->OpFunMsg.pVar = pApp->Bss;							/* Set RAM Pointer */
			- pApp->Begin = ( (pFunDef->OpeBeginFunc == NULL) ? 
				FunBeginDummy :
				( pFunDef->OpeBeginFunc ) );
			- pApp->Main = ( (pFunDef->OpeMainFunc == NULL) ?
				FunMainDummy :
				(pFunDef->OpeMainFunc) );
			- pApp->End = ( (pFunDef->OpeEndFunc == NULL) ?
				FunEndDummy :
				(pFunDef->OpeEndFunc) );
		- rc = App.Begin( &(App.OpFunMsg) );---------------------------------
																			
																			
	- SysRoundTask()														
	    - KpxMsgManager()		
	    	- //实参 Hmsg = &PopMsg											
			- LpxPopMsgManager(HMSGIF Hmsg)										   	
				- RpxPnlOpMain(HMSGIF Hmsg)
					- if( CPNLFUN->Begin( 
							CPNLFUN, 
							Pnl.CurFunIndx, 
							(UINT *)&OpKeyMk,
							(UINT *)&OpKeyBrk,
							(UINT *)&OpKeyLvl,
							(UINT *)&OpBlnkKickFlg,
							(UCHAR *)&(Hmsg->ResBuf[PNLRSP_LEDCODE_IDX]),
							Hmsg ) != OK  )                                            
																			|
																			|
																			|
----------------------------------------------------------------------------|
Fn204
	- FunAtypeVibTuningBegin(FUNMSG *Fmsg)
		- FNAVIBSUPV  *pv = (FNAVIBSUPV *)(Fmsg->pVar);
		- MSGIF *Hmsg = Fmsg->Super;
		- rc = OPEREG_WRITE( pv->var.OpeModeIdx, FNAVIBSUP_MODE, Hmsg ); //#define FNAVIBSUP_MODE			(0x1204)
			- #define OPEREG_WRITE( idx, data, hmsg )   (COPEREG->Write( COPEREG, (idx), (data), hmsg ))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值