想用VC 6.0 工具,NI 488.2GPIB驱动程序,编写GPIB程序,用来控制仪器

tanghaili 2012-11-05 03:59:14
由于是新手,哪位大侠有没有GPIB API函数库,最好是有函数的详解。NI 488.2驱动程序中的函数有以下:(各函数不知道是干嘛用的)
/* NI-488 Function Prototypes */
extern int __stdcall ibfindA (LPCSTR udname);
extern int __stdcall ibbnaA (int ud, LPCSTR udname);
extern int __stdcall ibrdfA (int ud, LPCSTR filename);
extern int __stdcall ibwrtfA (int ud, LPCSTR filename);

extern int __stdcall ibfindW (LPCWSTR udname);
extern int __stdcall ibbnaW (int ud, LPCWSTR udname);
extern int __stdcall ibrdfW (int ud, LPCWSTR filename);
extern int __stdcall ibwrtfW (int ud, LPCWSTR filename);

extern int __stdcall ibask (int ud, int option, PINT v);
extern int __stdcall ibcac (int ud, int v);
extern int __stdcall ibclr (int ud);
extern int __stdcall ibcmd (int ud, PVOID buf, long cnt);
extern int __stdcall ibcmda (int ud, PVOID buf, long cnt);
extern int __stdcall ibconfig (int ud, int option, int v);
extern int __stdcall ibdev (int boardID, int pad, int sad, int tmo, int eot, int eos);
extern int __stdcall ibdiag (int ud, PVOID buf, long cnt);
extern int __stdcall ibdma (int ud, int v);
extern int __stdcall ibexpert (int ud, int option, void * Input, void * Output);
extern int __stdcall ibeos (int ud, int v);
extern int __stdcall ibeot (int ud, int v);
extern int __stdcall ibgts (int ud, int v);
extern int __stdcall ibist (int ud, int v);
extern int __stdcall iblck (int ud, int v, unsigned int LockWaitTime, void * Reserved);
extern int __stdcall iblines (int ud, PSHORT result);
extern int __stdcall ibln (int ud, int pad, int sad, PSHORT listen);
extern int __stdcall ibloc (int ud);
extern int __stdcall ibnotify (int ud, int mask, GpibNotifyCallback_t Callback, PVOID RefData);
extern int __stdcall ibonl (int ud, int v);
extern int __stdcall ibpad (int ud, int v);
extern int __stdcall ibpct (int ud);
extern int __stdcall ibpoke (int ud, long option, long v);
extern int __stdcall ibppc (int ud, int v);
extern int __stdcall ibrd (int ud, PVOID buf, long cnt);
extern int __stdcall ibrda (int ud, PVOID buf, long cnt);
extern int __stdcall ibrpp (int ud, PCHAR ppr);
extern int __stdcall ibrsc (int ud, int v);
extern int __stdcall ibrsp (int ud, PCHAR spr);
extern int __stdcall ibrsv (int ud, int v);
extern int __stdcall ibsad (int ud, int v);
extern int __stdcall ibsic (int ud);
extern int __stdcall ibsre (int ud, int v);
extern int __stdcall ibstop (int ud);
extern int __stdcall ibtmo (int ud, int v);
extern int __stdcall ibtrg (int ud);
extern int __stdcall ibwait (int ud, int mask);
extern int __stdcall ibwrt (int ud, PVOID buf, long cnt);
extern int __stdcall ibwrta (int ud, PVOID buf, long cnt);

// GPIB-ENET only functions to support locking across machines
// Deprecated - Use iblck
extern int __stdcall iblock (int ud);
extern int __stdcall ibunlock (int ud);

/**************************************************************************/
/* Functions to access Thread-Specific copies of the GPIB global vars */

extern int __stdcall ThreadIbsta (void);
extern int __stdcall ThreadIberr (void);
extern int __stdcall ThreadIbcnt (void);
extern long __stdcall ThreadIbcntl (void);


/**************************************************************************/
/* NI-488.2 Function Prototypes */

extern void __stdcall AllSpoll (int boardID, Addr4882_t * addrlist, PSHORT results);
extern void __stdcall DevClear (int boardID, Addr4882_t addr);
extern void __stdcall DevClearList (int boardID, Addr4882_t * addrlist);
extern void __stdcall EnableLocal (int boardID, Addr4882_t * addrlist);
extern void __stdcall EnableRemote (int boardID, Addr4882_t * addrlist);
extern void __stdcall FindLstn (int boardID, Addr4882_t * addrlist, Addr4882_t * results, int limit);
extern void __stdcall FindRQS (int boardID, Addr4882_t * addrlist, PSHORT dev_stat);
extern void __stdcall PPoll (int boardID, PSHORT result);
extern void __stdcall PPollConfig (int boardID, Addr4882_t addr, int dataLine, int lineSense);
extern void __stdcall PPollUnconfig (int boardID, Addr4882_t * addrlist);
extern void __stdcall PassControl (int boardID, Addr4882_t addr);
extern void __stdcall RcvRespMsg (int boardID, PVOID buffer, long cnt, int Termination);
extern void __stdcall ReadStatusByte(int boardID, Addr4882_t addr, PSHORT result);
extern void __stdcall Receive (int boardID, Addr4882_t addr, PVOID buffer, long cnt, int Termination);
extern void __stdcall ReceiveSetup (int boardID, Addr4882_t addr);
extern void __stdcall ResetSys (int boardID, Addr4882_t * addrlist);
extern void __stdcall Send (int boardID, Addr4882_t addr, PVOID databuf, long datacnt, int eotMode);
extern void __stdcall SendCmds (int boardID, PVOID buffer, long cnt);
extern void __stdcall SendDataBytes (int boardID, PVOID buffer, long cnt, int eot_mode);
extern void __stdcall SendIFC (int boardID);
extern void __stdcall SendLLO (int boardID);
extern void __stdcall SendList (int boardID, Addr4882_t * addrlist, PVOID databuf, long datacnt, int eotMode);
extern void __stdcall SendSetup (int boardID, Addr4882_t * addrlist);
extern void __stdcall SetRWLS (int boardID, Addr4882_t * addrlist);
extern void __stdcall TestSRQ (int boardID, PSHORT result);
extern void __stdcall TestSys (int boardID, Addr4882_t * addrlist, PSHORT results);
extern void __stdcall Trigger (int boardID, Addr4882_t addr);
extern void __stdcall TriggerList (int boardID, Addr4882_t * addrlist);
extern void __stdcall WaitSRQ (int boardID, PSHORT result);
...全文
518 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
y121820080113 2013-07-18
  • 打赏
  • 举报
回复
引用 1 楼 tanghaili 的回复:
已经知道怎么做了
怎么做啊??
转角天边 2012-11-22
  • 打赏
  • 举报
回复
这就知道了,CSDN这么神奇
tanghaili 2012-11-22
  • 打赏
  • 举报
回复
已经知道怎么做了

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧