⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pstatus.c

📁 WinCE 3.0 BSP, 包含Inter SA1110, Intel_815E, Advantech_PCM9574 等
💻 C
字号:
/*++
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-1998  Microsoft Corporation

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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -