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

📄 hp662xa.c

📁 CVI教程,用于信号采集系统的多任务开发软件.学习简单,功能实用.
💻 C
📖 第 1 页 / 共 5 页
字号:
                                                                   ViBoolean value);static ViStatus _VI_FUNC HP662XAAttrOutputConnected_ReadCallback (ViSession vi,                                                                   ViSession io,                                                                   ViConstString channelName,                                                                   ViAttr attributeId,                                                                   ViBoolean *value);static ViStatus _VI_FUNC HP662XAAttrPeakVoltage_ReadCallback (ViSession vi,                                                              ViSession io,                                                              ViConstString channelName,                                                              ViAttr attributeId,                                                              ViReal64 *value);static ViStatus _VI_FUNC HP662XAAttrPeakCurrent_ReadCallback (ViSession vi,                                                              ViSession io,                                                              ViConstString channelName,                                                              ViAttr attributeId,                                                              ViReal64 *value);static ViStatus _VI_FUNC HP662XAAttrDCVoltage_CheckCallback (ViSession vi,                                                             ViConstString channelName,                                                             ViAttr attributeId,                                                             ViReal64 value);static ViStatus _VI_FUNC HP662XAAttrDCVoltage_WriteCallback (ViSession vi,                                                              ViSession io,                                                              ViConstString channelName,                                                              ViAttr attributeId,                                                              ViReal64 value);static ViStatus _VI_FUNC HP662XAAttrDCVoltage_ReadCallback (ViSession vi,                                                             ViSession io,                                                             ViConstString channelName,                                                             ViAttr attributeId,                                                             ViReal64 *value);static ViStatus _VI_FUNC HP662XAAttrStatus_ReadCallback (ViSession vi,                                                          ViSession io,                                                          ViConstString channelName,                                                          ViAttr attributeId,                                                          ViInt32 *value);static ViStatus _VI_FUNC HP662XAAttrAccumulatedStatus_ReadCallback (ViSession vi,                                                                     ViSession io,                                                                     ViConstString channelName,                                                                     ViAttr attributeId,                                                                     ViInt32 *value);static ViStatus _VI_FUNC HP662XAAttrFault_ReadCallback (ViSession vi,                                                         ViSession io,                                                         ViConstString channelName,                                                         ViAttr attributeId,                                                         ViInt32 *value);static ViStatus _VI_FUNC HP662XAAttrFaultMask_WriteCallback (ViSession vi,                                                              ViSession io,                                                              ViConstString channelName,                                                              ViAttr attributeId,                                                              ViInt32 value);static ViStatus _VI_FUNC HP662XAAttrFaultMask_ReadCallback (ViSession vi,                                                             ViSession io,                                                             ViConstString channelName,                                                             ViAttr attributeId,                                                             ViInt32 *value);static ViStatus _VI_FUNC HP662XAAttrFaultDelay_WriteCallback (ViSession vi,                                                               ViSession io,                                                               ViConstString channelName,                                                               ViAttr attributeId,                                                               ViReal64 value);static ViStatus _VI_FUNC HP662XAAttrFaultDelay_ReadCallback (ViSession vi,                                                              ViSession io,                                                              ViConstString channelName,                                                              ViAttr attributeId,                                                              ViReal64 *value);static ViStatus _VI_FUNC HP662XAAttrSrqMask_WriteCallback (ViSession vi,                                                            ViSession io,                                                            ViConstString channelName,                                                            ViAttr attributeId,                                                            ViInt32 value);static ViStatus _VI_FUNC HP662XAAttrSrqMask_ReadCallback (ViSession vi,                                                           ViSession io,                                                           ViConstString channelName,                                                           ViAttr attributeId,                                                           ViInt32 *value);static ViStatus _VI_FUNC HP662XAAttrConnectAtPowerOn_WriteCallback (ViSession vi,                                                                     ViSession io,                                                                     ViConstString channelName,                                                                     ViAttr attributeId,                                                                     ViBoolean value);static ViStatus _VI_FUNC HP662XAAttrConnectAtPowerOn_ReadCallback (ViSession vi,                                                                    ViSession io,                                                                    ViConstString channelName,                                                                    ViAttr attributeId,                                                                    ViBoolean *value);static ViStatus _VI_FUNC HP662XAAttrSrqAtPowerOn_WriteCallback (ViSession vi,                                                                 ViSession io,                                                                 ViConstString channelName,                                                                 ViAttr attributeId,                                                                 ViBoolean value);static ViStatus _VI_FUNC HP662XAAttrSrqAtPowerOn_ReadCallback (ViSession vi,                                                                ViSession io,                                                                ViConstString channelName,                                                                ViAttr attributeId,                                                                ViBoolean *value);/***************************************************************************** *------------ User-Callable Functions (Exportable Functions) ---------------* *****************************************************************************//***************************************************************************** * Function: HP662XA_init    * Purpose:  VXIplug&play required function.  Calls the    *           HP662XA_InitWithOptions function.    *****************************************************************************/ViStatus _VI_FUNC HP662XA_init (ViRsrc resourceName, ViBoolean IDQuery,                                ViBoolean resetDevice, ViSession *newVi){       ViStatus    error = VI_SUCCESS;    if (newVi == VI_NULL)        {        Ivi_SetErrorInfo (VI_NULL, VI_FALSE, IVI_ERROR_INVALID_PARAMETER,                           VI_ERROR_PARAMETER4, "Null address for Instrument Handle");        checkErr( IVI_ERROR_INVALID_PARAMETER);        }    checkErr( HP662XA_InitWithOptions (resourceName, IDQuery, resetDevice,                                         "", newVi));Error:      return error;}/***************************************************************************** * Function: HP662XA_InitWithOptions                                        * Purpose:  This function creates a new IVI session and calls the  *           IviInit function.                                      *****************************************************************************/ViStatus _VI_FUNC HP662XA_InitWithOptions (ViRsrc resourceName, ViBoolean IDQuery,                                           ViBoolean resetDevice, ViString optionString,                                            ViSession *newVi){       ViStatus    error = VI_SUCCESS;    ViSession   vi = VI_NULL;        if (newVi == VI_NULL)        {        Ivi_SetErrorInfo (VI_NULL, VI_FALSE, IVI_ERROR_INVALID_PARAMETER,                           VI_ERROR_PARAMETER5, "Null address for Instrument Handle");        checkErr( IVI_ERROR_INVALID_PARAMETER);        }    *newVi = VI_NULL;            /* create a new interchangeable driver */    checkErr( Ivi_SpecificDriverNew ("HP662XA", optionString, &vi));              /* init the driver */    checkErr( HP662XA_IviInit (resourceName, IDQuery, resetDevice, vi));     *newVi = vi;    Error:    if (error < VI_SUCCESS)         Ivi_Dispose (vi);            return error;}/***************************************************************************** * Function: HP662XA_IviInit                                                        * Purpose:  This function is called by HP662XA_InitWithOptions   *           or by an IVI class driver.  This function initializes the I/O  *           interface, optionally resets the device, optionally performs an *           ID query, and sends a default setup to the instrument.                 *****************************************************************************/ViStatus _VI_FUNC HP662XA_IviInit (ViRsrc resourceName, ViBoolean IDQuery,                                   ViBoolean reset, ViSession vi){    ViStatus  error = VI_SUCCESS;    ViSession io = VI_NULL;    ViChar    idQueryResponse[BUFFER_SIZE];    ViChar    buffer[BUFFER_SIZE];    ViInt32   model;    ViString  modelString;         /* Setup the io session. */    if (!Ivi_Simulating(vi))    /* call only when session is locked */        {        ViSession rmSession = VI_NULL;        /* Open instrument session */        checkErr( Ivi_GetAttributeViSession (vi, VI_NULL, IVI_ATTR_VISA_RM_SESSION, 0,                                             &rmSession));         viCheckErr( viOpen (rmSession, resourceName, VI_NULL, VI_NULL, &io));        /* io session owned by driver now */        checkErr( Ivi_SetAttributeViSession (vi, VI_NULL, IVI_ATTR_IO_SESSION, 0, io));          /* Configure VISA Formatted I/O */        viCheckErr( viSetAttribute (io, VI_ATTR_TMO_VALUE, 5000 ));        viCheckErr( viSetBuf (io, VI_READ_BUF | VI_WRITE_BUF, 4000));        viCheckErr( viSetAttribute (io, VI_ATTR_WR_BUF_OPER_MODE, VI_FLUSH_ON_ACCESS));        viCheckErr( viSetAttribute (io, VI_ATTR_RD_BUF_OPER_MODE, VI_FLUSH_ON_ACCESS));        }    /* Determine the family model. */    if (!Ivi_Simulating(vi) && IDQuery)        {        checkErr( HP662XA_QueryID (vi, BUFFER_SIZE, idQueryResponse));        for (model=0; model<NUMBER_OF_MODELS; model++)            {            viCheckErr( Ivi_GetStringFromTable (HP662XA_ModelTable, model, &modelString));            if (strstr (idQueryResponse, modelString))                break;            }        if (model == NUMBER_OF_MODELS)            viCheckErr( VI_ERROR_FAIL_ID_QUERY);        }    else        model = HP6624A;    checkErr( HP662XA_GetDriverSetupOption (vi, SETUP_MODEL_TAG, BUFFER_SIZE, buffer));    if (buffer[0])        {        for (model=0; model<NUMBER_OF_MODELS; model++)            {            viCheckErr( Ivi_GetStringFromTable (HP662XA_ModelTable, model, &modelString));            if (strstr (buffer, modelString))                break;            }        if (model == NUMBER_OF_MODELS)            viCheckErrElab( IVI_ERROR_BAD_OPTION_VALUE, SETUP_MODEL_TAG);        }            /* Build the channel table and initialize attributes. */    viCheckErr( HP662XA_BuildChannelList (HP662XA_NumberOfChannels[model], BUFFER_SIZE, buffer));    checkErr( Ivi_BuildChannelTable (vi, buffer, VI_FALSE, VI_NULL));    checkErr( HP662XA_InitAttributes (vi, model));        if (!Ivi_Simulating(vi) && IDQuery)        checkErr( Ivi_SetAttributeViString (vi, VI_NULL,                                            HP662XA_ATTR_ID_QUERY_RESPONSE,                                             0, idQueryResponse));    /*- Reset instrument ----------------------------------------------------*/    if (reset)         checkErr( HP662XA_reset (vi));    else  /*- Send Default Instrument Setup ---------------------------------*/        checkErr( HP662XA_DefaultInstrSetup (vi));    checkErr( HP662XA_CheckStatus (vi));Error:    if (error < VI_SUCCESS)        {        if (!Ivi_Simulating (vi) && io)            viClose (io);        }    return error;}/***************************************************************************** * Function: HP662XA_close                                                            * Purpose:  This function closes the instrument.                             * *           Note:  This function must unlock the session before calling *           Ivi_Dispose. *****************************************************************************/ViStatus _VI_FUNC HP662XA_close (ViSession vi){    ViStatus    error = VI_SUCCESS;        checkErr( Ivi_LockSession (vi, VI_NULL));        checkErr( HP662XA_IviClose (vi));Error:        Ivi_UnlockSession (vi, VI_NULL);    Ivi_Dispose (vi);      return error;}/***************************************************************************** * Function: HP662XA_IviClose                                                         * Purpose:  This function performs all of the drivers clean-up operations   

⌨️ 快捷键说明

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