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

📄 ltmk.c

📁 linux下1553B的开发
💻 C
📖 第 1 页 / 共 3 页
字号:
}
int bcstartx(TMK_DATA bcBase, TMK_DATA bcCtrlCode)
{
  return (#ifdef USE_TMK_ERROR    tmkError =#endif      ioctl(_hVTMK4VxD, TMK_IOCbcstartx, bcBase | (bcCtrlCode << 16)));}
int bcdeflink(TMK_DATA bcBase, TMK_DATA bcCtrlCode)
{
  return (#ifdef USE_TMK_ERROR    tmkError =#endif      ioctl(_hVTMK4VxD, TMK_IOCbcdeflink, bcBase | (bcCtrlCode << 16)));}
DWORD bcgetlink()  // ???????????????????????????????????????
{
  DWORD _VTMK4Arg;
#ifdef USE_TMK_ERROR  tmkError = #endif    ioctl(_hVTMK4VxD, TMK_IOCbcgetlink, &_VTMK4Arg);  return _VTMK4Arg;}
TMK_DATA_RET bcstop()
{
#ifdef USE_TMK_ERROR  tmkError = 0;#endif    return (ioctl(_hVTMK4VxD, TMK_IOCbcstop));}
DWORD bcgetstate()
{
  DWORD _VTMK4Arg;
#ifdef USE_TMK_ERROR  tmkError = #endif    ioctl(_hVTMK4VxD, TMK_IOCbcgetstate, &_VTMK4Arg);  return _VTMK4Arg;}

/*
void rtdefintcmd(void (* UserCmdRT)(TMK_DATA))
{
  ;
//  ioctl(_hVTMK4VxD, TMK_IOCrtdefintcmd, _awVTMK4InBuf, 4, _awVTMK4OutBuf, 0, &_VTMK4Arg, NULL);
}
void rtdefinterr(void (* UserErrRT)(TMK_DATA))
{
  ;
//  ioctl(_hVTMK4VxD, TMK_IOCrtdefinterr, _awVTMK4InBuf, 4, _awVTMK4OutBuf, 0, &_VTMK4Arg, NULL);
}
void rtdefintdata(void (* UserDataRT)(TMK_DATA))
{
  ;
//  ioctl(_hVTMK4VxD, TMK_IOCrtdefintdata, _awVTMK4InBuf, 4, _awVTMK4OutBuf, 0, &_VTMK4Arg, NULL);
}
*/
int rtreset()
{
  return (#ifdef USE_TMK_ERROR    tmkError = #endif      ioctl(_hVTMK4VxD, TMK_IOCrtreset));}
int rtdefirqmode(TMK_DATA rtIrqMode)
{
  return (#ifdef USE_TMK_ERROR    tmkError = #endif      ioctl(_hVTMK4VxD, TMK_IOCrtdefirqmode, rtIrqMode));}
TMK_DATA_RET rtgetirqmode()
{
#ifdef USE_TMK_ERROR  tmkError = 0;#endif    return (ioctl(_hVTMK4VxD, TMK_IOCrtgetirqmode));}
int rtdefmode(TMK_DATA rtMode)
{
  return (#ifdef USE_TMK_ERROR    tmkError =#endif      ioctl(_hVTMK4VxD, TMK_IOCrtdefmode, rtMode));}
TMK_DATA_RET rtgetmode()
{
#ifdef USE_TMK_ERROR  tmkError = 0;#endif    return (ioctl(_hVTMK4VxD, TMK_IOCrtgetmode));}
TMK_DATA_RET rtgetmaxpage()
{
#ifdef USE_TMK_ERROR  tmkError = 0;#endif    return (ioctl(_hVTMK4VxD, TMK_IOCrtgetmaxpage));}
int rtdefpage(TMK_DATA rtPage)
{
  return (#ifdef USE_TMK_ERROR    tmkError =#endif      ioctl(_hVTMK4VxD, TMK_IOCrtdefpage, rtPage));}
TMK_DATA_RET rtgetpage()
{
#ifdef USE_TMK_ERROR  tmkError = 0;#endif    return (ioctl(_hVTMK4VxD, TMK_IOCrtgetpage));}
int rtdefpagepc(TMK_DATA rtPagePC)
{
  return (#ifdef USE_TMK_ERROR    tmkError =#endif      ioctl(_hVTMK4VxD, TMK_IOCrtdefpagepc, rtPagePC));}
int rtdefpagebus(TMK_DATA rtPageBus)
{
  return (#ifdef USE_TMK_ERROR    tmkError =#endif      ioctl(_hVTMK4VxD, TMK_IOCrtdefpagebus, rtPageBus));}
TMK_DATA_RET rtgetpagepc()
{
#ifdef USE_TMK_ERROR  tmkError = 0;#endif    return (ioctl(_hVTMK4VxD, TMK_IOCrtgetpagepc));}
TMK_DATA_RET rtgetpagebus()
{
#ifdef USE_TMK_ERROR  tmkError = 0;#endif    return (ioctl(_hVTMK4VxD, TMK_IOCrtgetpagebus));}
int rtdefaddress(TMK_DATA rtAddress)
{
  return (#ifdef USE_TMK_ERROR    tmkError =#endif      ioctl(_hVTMK4VxD, TMK_IOCrtdefaddress, rtAddress));}
TMK_DATA_RET rtgetaddress()
{
#ifdef USE_TMK_ERROR  tmkError = 0;#endif    return (ioctl(_hVTMK4VxD, TMK_IOCrtgetaddress));}
void rtdefsubaddr(TMK_DATA rtDir, TMK_DATA rtSubAddr)
{
#ifdef USE_TMK_ERROR  tmkError = #endif    ioctl(_hVTMK4VxD, TMK_IOCrtdefsubaddr, rtDir | (rtSubAddr << 16));}
TMK_DATA_RET rtgetsubaddr()
{
#ifdef USE_TMK_ERROR  tmkError = 0;#endif    return (ioctl(_hVTMK4VxD, TMK_IOCrtgetsubaddr));}
void rtputw(TMK_DATA rtAddr, TMK_DATA rtData)
{
#ifdef USE_TMK_ERROR  tmkError = #endif    ioctl(_hVTMK4VxD, TMK_IOCrtputw, rtAddr | (rtData << 16));}
TMK_DATA_RET rtgetw(TMK_DATA rtAddr)
{
#ifdef USE_TMK_ERROR  tmkError = 0;#endif    return (ioctl(_hVTMK4VxD, TMK_IOCrtgetw, rtAddr));}
void rtputblk(TMK_DATA rtAddr, void *pcBuffer, TMK_DATA cwLength)
{
  DWORD _VTMK4Arg[2];/*  _awVTMK4InBuf[0] = rtAddr;
  _awVTMK4InBuf[1] = cwLength;
  _awVTMK4InBuf[2] = (WORD)(LOWORD(pcBuffer));
  _awVTMK4InBuf[3] = (WORD)(HIWORD(pcBuffer));
*/  _VTMK4Arg[0] = rtAddr | (cwLength << 16);
  _VTMK4Arg[1] = (DWORD)pcBuffer;
#ifdef USE_TMK_ERROR  tmkError = #endif    ioctl(_hVTMK4VxD, TMK_IOCrtputblk, &_VTMK4Arg);}
void rtgetblk(TMK_DATA rtAddr, void *pcBuffer, TMK_DATA cwLength)
{
  DWORD _VTMK4Arg[2];/*  _awVTMK4InBuf[0] = rtAddr;
  _awVTMK4InBuf[1] = cwLength;
  _awVTMK4InBuf[2] = (WORD)(LOWORD(pcBuffer));
  _awVTMK4InBuf[3] = (WORD)(HIWORD(pcBuffer));
*/  _VTMK4Arg[0] = rtAddr | (cwLength << 16);
  _VTMK4Arg[1] = (DWORD)pcBuffer;
#ifdef USE_TMK_ERROR  tmkError = #endif    ioctl(_hVTMK4VxD, TMK_IOCrtgetblk, &_VTMK4Arg);}
void rtsetanswbits(TMK_DATA rtSetControl)
{
#ifdef USE_TMK_ERROR  tmkError = #endif    ioctl(_hVTMK4VxD, TMK_IOCrtsetanswbits, rtSetControl);}
void rtclranswbits(TMK_DATA rtClrControl)
{
#ifdef USE_TMK_ERROR  tmkError = #endif    ioctl(_hVTMK4VxD, TMK_IOCrtclranswbits, rtClrControl);}
TMK_DATA_RET rtgetanswbits()
{
#ifdef USE_TMK_ERROR  tmkError = 0;#endif    return (ioctl(_hVTMK4VxD, TMK_IOCrtgetanswbits));}
void rtgetflags(void *pcBuffer, TMK_DATA rtDir, TMK_DATA rtFlagMin, TMK_DATA rtFlagMax)
{
  DWORD _VTMK4Arg[2];/*  _awVTMK4InBuf[0] = rtDir | rtFlagMin;
  _awVTMK4InBuf[1] = rtDir | rtFlagMax;
  _awVTMK4InBuf[2] = (WORD)(LOWORD(pcBuffer));
  _awVTMK4InBuf[3] = (WORD)(HIWORD(pcBuffer));
*/  _VTMK4Arg[0] = rtDir | rtFlagMin | ((rtDir | rtFlagMax) << 16);
  _VTMK4Arg[1] = (DWORD)pcBuffer;
#ifdef USE_TMK_ERROR  tmkError = #endif    ioctl(_hVTMK4VxD, TMK_IOCrtgetflags, &_VTMK4Arg);
}
void rtputflags(void *pcBuffer, TMK_DATA rtDir, TMK_DATA rtFlagMin, TMK_DATA rtFlagMax)
{
  DWORD _VTMK4Arg[2];/*  _awVTMK4InBuf[0] = rtDir | rtFlagMin;
  _awVTMK4InBuf[1] = rtDir | rtFlagMax;
  _awVTMK4InBuf[2] = (WORD)(LOWORD(pcBuffer));
  _awVTMK4InBuf[3] = (WORD)(HIWORD(pcBuffer));
*/  _VTMK4Arg[0] = rtDir | rtFlagMin | ((rtDir | rtFlagMax) << 16);
  _VTMK4Arg[1] = (DWORD)pcBuffer;
#ifdef USE_TMK_ERROR  tmkError = #endif    ioctl(_hVTMK4VxD, TMK_IOCrtputflags, &_VTMK4Arg);
}
void rtsetflag()
{
#ifdef USE_TMK_ERROR  tmkError = #endif    ioctl(_hVTMK4VxD, TMK_IOCrtsetflag);}
void rtclrflag()
{
#ifdef USE_TMK_ERROR  tmkError = #endif    ioctl(_hVTMK4VxD, TMK_IOCrtclrflag);}
TMK_DATA_RET rtgetflag(TMK_DATA rtDir, TMK_DATA rtSubAddr)
{
#ifdef USE_TMK_ERROR  tmkError = 0;#endif    return (ioctl(_hVTMK4VxD, TMK_IOCrtgetflag, rtDir | (rtSubAddr << 16)));}
TMK_DATA_RET rtgetstate()
{
#ifdef USE_TMK_ERROR  tmkError = 0;#endif    return (ioctl(_hVTMK4VxD, TMK_IOCrtgetstate));}
TMK_DATA_RET rtbusy()
{
#ifdef USE_TMK_ERROR  tmkError = 0;#endif    return (ioctl(_hVTMK4VxD, TMK_IOCrtbusy));}
void rtlock(TMK_DATA rtDir, TMK_DATA rtSubAddr)
{
#ifdef USE_TMK_ERROR  tmkError = #endif    ioctl(_hVTMK4VxD, TMK_IOCrtlock, rtDir | (rtSubAddr << 16));}
void rtunlock()
{
#ifdef USE_TMK_ERROR  tmkError = #endif    ioctl(_hVTMK4VxD, TMK_IOCrtunlock);}
TMK_DATA_RET rtgetcmddata(TMK_DATA rtBusCommand)
{
#ifdef USE_TMK_ERROR  tmkError = 0;#endif    return (ioctl(_hVTMK4VxD, TMK_IOCrtgetcmddata, rtBusCommand));}
void rtputcmddata(TMK_DATA rtBusCommand, TMK_DATA rtData)
{
#ifdef USE_TMK_ERROR  tmkError = #endif    ioctl(_hVTMK4VxD, TMK_IOCrtputcmddata, rtBusCommand | (rtData << 16));}

/*
void mtdefintx(void (* UserIntXMT)(TMK_DATA, TMK_DATA))
{
  ;
//  ioctl(_hVTMK4VxD, TMK_IOCmtdefintx, _awVTMK4InBuf, 4, _awVTMK4OutBuf, 0, &_VTMK4Arg, NULL);
}
void mtdefintsig(void (* UserSigMT)(TMK_DATA))
{
  ;
//  ioctl(_hVTMK4VxD, TMK_IOCmtdefintsig, _awVTMK4InBuf, 4, _awVTMK4OutBuf, 0, &_VTMK4Arg, NULL);
}
*/
int mtreset()
{
  return (#ifdef USE_TMK_ERROR    tmkError =#endif      ioctl(_hVTMK4VxD, TMK_IOCmtreset));}
TMK_DATA_RET mtgetsw()
{
#ifdef USE_TMK_ERROR  tmkError = 0;#endif    return (ioctl(_hVTMK4VxD, TMK_IOCmtgetsw));}

TMK_DATA_RET rtenable(TMK_DATA rtEnable)
{
#ifdef USE_TMK_ERROR
  tmkError = 0;
#endif
  return (ioctl(_hVTMK4VxD, TMK_IOCrtenable, rtEnable));
}
#ifdef _TMK1553B_MRT
int mrtgetmaxn()
{
#ifdef USE_TMK_ERROR
  tmkError = 0;
#endif
  return (ioctl(_hVTMK4VxD, TMK_IOCmrtgetmaxn));
}
DWORD mrtconfig(int mrtNumber)
{
  DWORD dwres;
#ifdef USE_TMK_ERROR
  tmkError = 0;
#endif
  dwres = ioctl(_hVTMK4VxD, TMK_IOCmrtconfig, mrtNumber);
//  if (dwres)
//    _VTMK4tmkNumber = dwres & 0xFFFF;
  if ((int)dwres < 0)    dwres = 0;#ifdef USE_TMK_ERROR
  if (!dwres)
    tmkError = TMK_BAD_NUMBER;
#endif
  return (dwres);
}
int mrtselected()
{
#ifdef USE_TMK_ERROR
  tmkError = 0;
#endif
  return (ioctl(_hVTMK4VxD, TMK_IOCmrtselected));
}
TMK_DATA_RET mrtgetstate()
{
#ifdef USE_TMK_ERROR
  tmkError = 0;
#endif
  return (ioctl(_hVTMK4VxD, TMK_IOCmrtgetstate));
}
void mrtdefbrcsubaddr0()
{
#ifdef USE_TMK_ERROR
  tmkError = 
#endif
  ioctl(_hVTMK4VxD, TMK_IOCmrtdefbrcsubaddr0);
}
int mrtreset()
{
  return (#ifdef USE_TMK_ERROR    tmkError =#endif      ioctl(_hVTMK4VxD, TMK_IOCmrtreset));}
#endif //def _TMK1553B_MRT

TMK_DATA_RET tmktimer(TMK_DATA tmkTimerCtrl)
{
#ifdef USE_TMK_ERROR
  tmkError = 0;
#endif
  return (ioctl(_hVTMK4VxD, TMK_IOCtmktimer, tmkTimerCtrl));
}

DWORD tmkgettimer()
{
  DWORD _VTMK4Arg;
#ifdef USE_TMK_ERROR
  tmkError = 
#endif  
  ioctl(_hVTMK4VxD, TMK_IOCtmkgettimer, &_VTMK4Arg);
  return _VTMK4Arg;
}

TMK_DATA_RET tmkgettimerl()
{
#ifdef USE_TMK_ERROR
  tmkError = 0;
#endif
  return (ioctl(_hVTMK4VxD, TMK_IOCtmkgettimerl));
}

DWORD bcgetmsgtime()
{
  DWORD _VTMK4Arg;
#ifdef USE_TMK_ERROR
  tmkError = 
#endif  
  ioctl(_hVTMK4VxD, TMK_IOCbcgetmsgtime, &_VTMK4Arg);
  return _VTMK4Arg;
}

DWORD rtgetmsgtime()
{
  DWORD _VTMK4Arg;
#ifdef USE_TMK_ERROR
  tmkError = 
#endif  
  ioctl(_hVTMK4VxD, TMK_IOCrtgetmsgtime, &_VTMK4Arg);
  return _VTMK4Arg;
}

TMK_DATA_RET tmkgethwver()
{
#ifdef USE_TMK_ERROR
  tmkError = 0;
#endif
  return (ioctl(_hVTMK4VxD, TMK_IOCtmkgethwver));
}

#endif

⌨️ 快捷键说明

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