snddrvctltask.c

来自「epson usb2.0 控制芯片 S1R72V05 固件程序。」· C语言 代码 · 共 62 行

C
62
字号
/*
 * description: SndDrvCtlTask
 * Maker	  : Kamada Satoru
 * Copyright  : (C)2004,SEIKO EPSON Corp. All Rights Reserved.
 */
#include "kernel.h"
#include "SPRDEF.h"
#include "SPRSTS.h"
#include "DrvCtlTask.h"
#include "hw_serial.h"

/*
//=============================================================================
// Function_Name: SndDrvCtlTask
// description	: Transmitting driver control task
// argument		:
// return		:
// flag			:
// global		:
//=============================================================================
*/
void SndDrvCtlTask( INT ch )
{

	DRVCTL_MSG*   pMsg;
	UINT		 i;
	UCHAR		 c;
	OS_ER		ercd;

	for (;;)
	{
		/* Wait message */
		ercd = OS_RcvMbx( MBXID_SND , ( T_MSG** )&pMsg );
		if ( ercd != E_OK )
		{
			continue;
		}

		/* Send 1 line */
		for (i = 0;;)
		{
			c = pMsg->pMsgData [i++];
			if (c == '\0')
			{
				break;
			}
			else
			{
				PutSio(ch,	 c , 1);
			}

			/* Wait completion */
			fls_sio(ch, TMO_FEVR);
		}
		/* Release memory block */
		OS_RelMpf( pMsg->head.useMpfId , (VP)pMsg );

		/* Wait completion */
		fls_sio(ch, TMO_FEVR);
	}
}

⌨️ 快捷键说明

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