pstatus.c

来自「WinCE 3.0 BSP, 包含Inter SA1110, Intel_815」· C语言 代码 · 共 73 行

C
73
字号
/*++
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.
Copyright (c) 1995-2000 Microsoft Corporation.  All rights reserved.

Module Name:  

pstatus.c

Abstract:  
P1284 ports status functions 

Notes: 


--*/
#include	<windows.h>
#include	<ceddk.h>
#include	<pardbg.h>
#include    "1284comm.h"
#include    "tmtick.h"

#define NFAULT_BIT  0x08    // 0000 1000

//---------------------------------------------------------------------------
// Status signal detection (nBusy,nAck,PError,Select,nFault)
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// Check nFault line
//   Return: TRUE if nFault is high, means no fault
//---------------------------------------------------------------------------
BOOL 
ChecknFault
(
    unsigned uDSR
)
{
    if ((READ_PORT_UCHAR((PUCHAR)uDSR) & NFAULT_BIT) == NFAULT_BIT) 
        return(TRUE);
    else
        return(FALSE);
}
//---------------------------------------------------------------------------
//  access certain address for certain expected value
//    Return: TRUE if pattern is matched
//---------------------------------------------------------------------------
BOOL
CheckPort
(
    unsigned uport,
    BYTE     bmask, 
    BYTE     bvalue,
    LONG     lInterval
)
{
	unsigned int i=0;
	lStartTick=GetTickCount();
    do
    {
        lEndTick=GetTickCount();
        if ((READ_PORT_UCHAR((PUCHAR)uport) & bmask) == bvalue) {
            return (TRUE);
		}
		i++;
    }
    while ((LONG)(lEndTick - lStartTick) < lInterval);
	DEBUGMSG(ZONE_IO,(TEXT("CheckPort: Port %Xh bmask %Xh bvalue %Xh lInterval=%dmSec "),uport,bmask,bvalue,lInterval));
	DEBUGMSG(ZONE_IO,(TEXT("return FALSE after %u iterations.\r\n"),i));
    return (FALSE);
}

⌨️ 快捷键说明

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