?? visa.h
字號:
#define VI_BIG_ENDIAN (0)
#define VI_LITTLE_ENDIAN (1)
#define VI_DATA_PRIV (0)
#define VI_DATA_NPRIV (1)
#define VI_PROG_PRIV (2)
#define VI_PROG_NPRIV (3)
#define VI_BLCK_PRIV (4)
#define VI_BLCK_NPRIV (5)
#define VI_D64_PRIV (6)
#define VI_D64_NPRIV (7)
#define VI_WIDTH_8 (1)
#define VI_WIDTH_16 (2)
#define VI_WIDTH_32 (4)
#define VI_GPIB_REN_DEASSERT (0)
#define VI_GPIB_REN_ASSERT (1)
#define VI_GPIB_REN_DEASSERT_GTL (2)
#define VI_GPIB_REN_ASSERT_ADDRESS (3)
#define VI_GPIB_REN_ASSERT_LLO (4)
#define VI_GPIB_REN_ASSERT_ADDRESS_LLO (5)
#define VI_GPIB_REN_ADDRESS_GTL (6)
#define VI_GPIB_ATN_DEASSERT (0)
#define VI_GPIB_ATN_ASSERT (1)
#define VI_GPIB_ATN_DEASSERT_HANDSHAKE (2)
#define VI_GPIB_ATN_ASSERT_IMMEDIATE (3)
#define VI_GPIB_HS488_DISABLED (0)
#define VI_GPIB_HS488_NIMPL (-1)
#define VI_GPIB_UNADDRESSED (0)
#define VI_GPIB_TALKER (1)
#define VI_GPIB_LISTENER (2)
#define VI_VXI_CMD16 (0x0200)
#define VI_VXI_CMD16_RESP16 (0x0202)
#define VI_VXI_RESP16 (0x0002)
#define VI_VXI_CMD32 (0x0400)
#define VI_VXI_CMD32_RESP16 (0x0402)
#define VI_VXI_CMD32_RESP32 (0x0404)
#define VI_VXI_RESP32 (0x0004)
#define VI_ASSERT_SIGNAL (-1)
#define VI_ASSERT_USE_ASSIGNED (0)
#define VI_ASSERT_IRQ1 (1)
#define VI_ASSERT_IRQ2 (2)
#define VI_ASSERT_IRQ3 (3)
#define VI_ASSERT_IRQ4 (4)
#define VI_ASSERT_IRQ5 (5)
#define VI_ASSERT_IRQ6 (6)
#define VI_ASSERT_IRQ7 (7)
#define VI_UTIL_ASSERT_SYSRESET (1)
#define VI_UTIL_ASSERT_SYSFAIL (2)
#define VI_UTIL_DEASSERT_SYSFAIL (3)
#define VI_VXI_CLASS_MEMORY (0)
#define VI_VXI_CLASS_EXTENDED (1)
#define VI_VXI_CLASS_MESSAGE (2)
#define VI_VXI_CLASS_REGISTER (3)
#define VI_VXI_CLASS_OTHER (4)
/*- Backward Compatibility Macros -------------------------------------------*/
#define viGetDefaultRM(vi) viOpenDefaultRM(vi)
#define VI_ERROR_INV_SESSION (VI_ERROR_INV_OBJECT)
#define VI_INFINITE (VI_TMO_INFINITE)
#define VI_ASRL488 (VI_PROT_4882_STRS)
#define VI_ASRL_IN_BUF (VI_IO_IN_BUF)
#define VI_ASRL_OUT_BUF (VI_IO_OUT_BUF)
#define VI_ASRL_IN_BUF_DISCARD (VI_IO_IN_BUF_DISCARD)
#define VI_ASRL_OUT_BUF_DISCARD (VI_IO_OUT_BUF_DISCARD)
/*- National Instruments ----------------------------------------------------*/
/* This specifies the behavior of viFindRsrc */
#define VI_ATTR_FIND_NEEDS_REFRESH (0x3FFF018FUL) /* ViBoolean, read-only */
#define VI_ATTR_FIND_RSRC_MODE (0x3FFF0190UL) /* ViUInt16, read-write */
#define VI_FIND_SEARCHBUS_NOALIAS (0)
#define VI_FIND_SEARCHBUS_ALIAS (2)
#define VI_FIND_NOSEARCHBUS_ALIAS (3)
/* This allows a user to query the size of formatted I/O buffers */
#define VI_ATTR_RD_BUF_SIZE (0x3FFF002BUL)
#define VI_ATTR_WR_BUF_SIZE (0x3FFF002EUL)
/* This is for VXI SERVANT resources */
#define VI_EVENT_VXI_DEV_CMD (0xBFFF200FUL)
#define VI_ATTR_VXI_DEV_CMD_TYPE (0x3FFF4037UL) /* ViInt16, read-only */
#define VI_ATTR_VXI_DEV_CMD_VALUE (0x3FFF4038UL) /* ViUInt32, read-only */
#define VI_VXI_DEV_CMD_TYPE_16 (16)
#define VI_VXI_DEV_CMD_TYPE_32 (32)
ViStatus _VI_FUNC viVxiServantResponse(ViSession vi, ViInt16 mode, ViUInt32 resp);
/* mode values include VI_VXI_RESP16, VI_VXI_RESP32, and the next 2 values */
#define VI_VXI_RESP_NONE (0)
#define VI_VXI_RESP_PROT_ERROR (-1)
/* This is for fast viPeek/viPoke macros */
#if defined(NIVISA_PEEKPOKE)
#if defined(NIVISA_PEEKPOKE_SUPP)
#undef NIVISA_PEEKPOKE_SUPP
#endif
#if (defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)) && !defined(_NI_mswin16_)
/* This macro is supported for all Win32 compilers, including CVI. */
#define NIVISA_PEEKPOKE_SUPP
#elif (defined(_WINDOWS) || defined(_Windows)) && !defined(_CVI_) && !defined(_NI_mswin16_)
/* This macro is supported for Borland and Microsoft compilers on Win16, but not CVI. */
#define NIVISA_PEEKPOKE_SUPP
#elif defined(_CVI_) && defined(_NI_sparc_)
/* This macro is supported for Solaris 1 and 2, from CVI only. */
#define NIVISA_PEEKPOKE_SUPP
#else
/* This macro is not supported on other platforms. */
#endif
#if defined(NIVISA_PEEKPOKE_SUPP)
extern ViBoolean NI_viImplVISA1;
ViStatus _VI_FUNC NI_viOpenDefaultRM (ViPSession vi);
#define viOpenDefaultRM(vi) NI_viOpenDefaultRM(vi)
#define viPeek8(vi,addr,val) \
{ \
if ((NI_viImplVISA1) && (*((ViPUInt32)(vi)))) \
{ \
do (*((ViPUInt8)(val)) = *((volatile ViUInt8 _VI_PTR)(addr))); \
while (**((volatile ViUInt8 _VI_PTR _VI_PTR)(vi)) & 0x10); \
} \
else \
{ \
(viPeek8)((vi),(addr),(val)); \
} \
}
#define viPoke8(vi,addr,val) \
{ \
if ((NI_viImplVISA1) && (*((ViPUInt32)(vi)))) \
{ \
do (*((volatile ViUInt8 _VI_PTR)(addr)) = ((ViUInt8)(val))); \
while (**((volatile ViUInt8 _VI_PTR _VI_PTR)(vi)) & 0x10); \
} \
else \
{ \
(viPoke8)((vi),(addr),(val)); \
} \
}
#define viPeek16(vi,addr,val) \
{ \
if ((NI_viImplVISA1) && (*((ViPUInt32)(vi)))) \
{ \
do (*((ViPUInt16)(val)) = *((volatile ViUInt16 _VI_PTR)(addr))); \
while (**((volatile ViUInt8 _VI_PTR _VI_PTR)(vi)) & 0x10); \
} \
else \
{ \
(viPeek16)((vi),(addr),(val)); \
} \
}
#define viPoke16(vi,addr,val) \
{ \
if ((NI_viImplVISA1) && (*((ViPUInt32)(vi)))) \
{ \
do (*((volatile ViUInt16 _VI_PTR)(addr)) = ((ViUInt16)(val))); \
while (**((volatile ViUInt8 _VI_PTR _VI_PTR)(vi)) & 0x10); \
} \
else \
{ \
(viPoke16)((vi),(addr),(val)); \
} \
}
#define viPeek32(vi,addr,val) \
{ \
if ((NI_viImplVISA1) && (*((ViPUInt32)(vi)))) \
{ \
do (*((ViPUInt32)(val)) = *((volatile ViUInt32 _VI_PTR)(addr))); \
while (**((volatile ViUInt8 _VI_PTR _VI_PTR)(vi)) & 0x10); \
} \
else \
{ \
(viPeek32)((vi),(addr),(val)); \
} \
}
#define viPoke32(vi,addr,val) \
{ \
if ((NI_viImplVISA1) && (*((ViPUInt32)(vi)))) \
{ \
do (*((volatile ViUInt32 _VI_PTR)(addr)) = ((ViUInt32)(val))); \
while (**((volatile ViUInt8 _VI_PTR _VI_PTR)(vi)) & 0x10); \
} \
else \
{ \
(viPoke32)((vi),(addr),(val)); \
} \
}
#endif
#endif
#if defined(NIVISA_PXI)
/* This macro is supported for all Win32 compilers, including CVI. */
/* This macro is not supported on other platforms. */
#define VI_ATTR_PXI_DEV_NUM (0x3FFF0201UL)
#define VI_ATTR_PXI_FUNC_NUM (0x3FFF0202UL)
#define VI_ATTR_PXI_SUB_MANF_ID (0x3FFF0203UL)
#define VI_ATTR_PXI_SUB_MODEL_CODE (0x3FFF0204UL)
#define VI_ATTR_PXI_MEM_TYPE_BAR0 (0x3FFF0211UL)
#define VI_ATTR_PXI_MEM_TYPE_BAR1 (0x3FFF0212UL)
#define VI_ATTR_PXI_MEM_TYPE_BAR2 (0x3FFF0213UL)
#define VI_ATTR_PXI_MEM_TYPE_BAR3 (0x3FFF0214UL)
#define VI_ATTR_PXI_MEM_TYPE_BAR4 (0x3FFF0215UL)
#define VI_ATTR_PXI_MEM_TYPE_BAR5 (0x3FFF0216UL)
#define VI_ATTR_PXI_MEM_BASE_BAR0 (0x3FFF0221UL)
#define VI_ATTR_PXI_MEM_BASE_BAR1 (0x3FFF0222UL)
#define VI_ATTR_PXI_MEM_BASE_BAR2 (0x3FFF0223UL)
#define VI_ATTR_PXI_MEM_BASE_BAR3 (0x3FFF0224UL)
#define VI_ATTR_PXI_MEM_BASE_BAR4 (0x3FFF0225UL)
#define VI_ATTR_PXI_MEM_BASE_BAR5 (0x3FFF0226UL)
#define VI_ATTR_PXI_MEM_SIZE_BAR0 (0x3FFF0231UL)
#define VI_ATTR_PXI_MEM_SIZE_BAR1 (0x3FFF0232UL)
#define VI_ATTR_PXI_MEM_SIZE_BAR2 (0x3FFF0233UL)
#define VI_ATTR_PXI_MEM_SIZE_BAR3 (0x3FFF0234UL)
#define VI_ATTR_PXI_MEM_SIZE_BAR4 (0x3FFF0235UL)
#define VI_ATTR_PXI_MEM_SIZE_BAR5 (0x3FFF0236UL)
#define VI_EVENT_PXI_INTR (0x3FFF2022UL)
#define VI_INTF_PXI (5)
#define VI_PXI_CFG_SPACE (10)
#define VI_PXI_BAR0_SPACE (11)
#define VI_PXI_BAR1_SPACE (12)
#define VI_PXI_BAR2_SPACE (13)
#define VI_PXI_BAR3_SPACE (14)
#define VI_PXI_BAR4_SPACE (15)
#define VI_PXI_BAR5_SPACE (16)
#define VI_PXI_ADDR_NONE (0)
#define VI_PXI_ADDR_MEM (1)
#define VI_PXI_ADDR_IO (2)
#define VI_PXI_ADDR_CFG (3)
#endif
#if defined(__cplusplus) || defined(__cplusplus__)
}
#endif
#endif
/*- The End -----------------------------------------------------------------*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -