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

📄 812pg.h

📁 用于工业控制方面.常见的板卡操作.板卡型号为812板.
💻 H
字号:
/************************************************************************/
/*      File name :     812PG.H                                         */
/*      Purpose :       Header File of ACL-812PG Library                */
/*      Date :          5/15/1994                                       */
/*      Version :       1.0                                             */
/*                                                                      */
/*      Copyright ADCLONE Inc. (c) 1994  all right reserved             */
/************************************************************************/

/************************************************************************/
/* Constant  Definitions                                                */
/************************************************************************/

/*---------------------------------------------- for card number -----------*/
#define         CARD_1          0       /* possible value of card_number */
#define         CARD_2          1
/*---------------------------------------------- for DMA channel number-----*/
#define         DMA_CH_1        1       /* possible dma_ch_no of AD... */
#define         DMA_CH_3        3
/*---------------------------------------------- for IRQ channel number-----*/
#define         IRQ2            2       /* possible irq_ch_no of AD... */
#define         IRQ3            3
#define         IRQ4            4
#define         IRQ5            5
#define         IRQ6            6
#define         IRQ7            7
#define         IRQ9            9
#define         IRQ11           11
#define         IRQ13           13
#define         IRQ15           15
/*---------------------------------------------- for AD gain level----------*/
#define         AD_GAIN_1       0       /* possible ad_gain value */
#define         AD_GAIN_2       1
#define         AD_GAIN_4       2
#define         AD_GAIN_8       3
#define         AD_GAIN_16      4
/*---------------------------------------------- for AD mode ---------------*/
#define         AD_MODE_0       0       /* External Trig, Software Polling */
#define         AD_MODE_1       1       /* Software Trig, Software Polling */
#define         AD_MODE_2       2       /* Timer    Trig, DMA Transfer     */
#define         AD_MODE_3       3       /* External Trig, DMA Transfer     */
#define         AD_MODE_4       4       /* External Trig, Soft/Int transfer*/
#define         AD_MODE_5       5       /* Soft     Trig, Soft/Int transfer*/
#define         AD_MODE_6       6       /* Timer    Trig, Soft/Int transfer*/
#define         AD_MODE_7       7       /* N.U.                            */
/*---------------------------------------------- for AD status--------------*/
#define         AD_DMA_STOP     0       /* for AD_DMA status */
#define         AD_DMA_RUN      1
#define         AD_INT_STOP     0       /* for AD_INT status */
#define         AD_INT_RUN      1
/*---------------------------------------------- for DA, DI and DO ---------*/
#define         DA_CH_1         0       /* possible da_ch_no of DA */
#define         DA_CH_2         1
#define         DI_LO_BYTE      0       /* for port_no of DI */
#define         DI_HI_BYTE      1       /* for port_no of DI */
#define         DO_LO_BYTE      0       /* for port_no of DO */
#define         DO_HI_BYTE      1       /* for port_no of DO */
/*---------------------------------------------- for Mode of Timer #0-------*/
#define         TIMER_MODE0     0       /* Timer : Terminal Count       */
#define         TIMER_MODE1     1       /* Timer : Programmer One-shot  */
#define         TIMER_MODE2     2       /* Timer : Frq.  Generator      */
#define         TIMER_MODE3     3       /* Timer : Square Wave Generator*/
#define         TIMER_MODE4     4       /* Timer : Counter, Soft Trigger*/
#define         TIMER_MODE5     5       /* Timer : Counter, Hard Trigger*/
/*---------------------- Error Number---------------------------------------*/
#define         NoError                 0
#define         Board_No_Init           1
#define         Invalid_Board_Number    2
#define         Base_Address_Error      3
#define         Port_Error              4
#define         Invalid_DI_Channel      5
#define         Invalid_DA_Channel      6
#define         Invalid_Timer_Value     7
#define         Invalid_Timer_Mode      8
#define         Invalid_AD_Channel      9
#define         Invalid_AD_Gain         10
#define         Invalid_Mode            11
#define         Invalid_IRQ_Channel     12
#define         Invalid_DMA_Channel     13
#define         AD_Aquire_Time_Out      14
#define         AD_DMA_Not_Set          15
#define         AD_INT_Not_Set          16


/************************************************************************/
/* Functions Decalerations                                              */
/************************************************************************/
/*---------------------------------------------- Initialization ------------*/
extern  int _812_Initial( int card_number , int base_address );
extern  int _812_Switch_Card_No( int card_number );

/*---------------------------------------------- Digital Input  ------------*/
extern  int _812_DI( int port_no, unsigned char *data );
extern  int _812_DI_Channel( int di_ch_no , unsigned int *data );

/*---------------------------------------------- Digital Output ------------*/
//extern  int _812_DO( int port_no , unsigned char data );
extern  int _812_DO( unsigned data );
/*---------------------------------------------- DA  -----------------------*/
extern  int _812_DA( int ch_no, unsigned int data );

/*---------------------------------------------- AD  -----------------------*/
extern  int _812_AD_Set_Channel( int ad_ch_no );
extern  int _812_AD_Set_Gain   ( int ad_gain  );
extern  int _812_AD_Set_Mode   ( int ad_mode  );
extern  int _812_AD_Soft_Trig  ( void );
extern  int _812_AD_Aquire     ( int *ad_data );
extern  int _812_CLR_IRQ       ( void );

extern  int _812_AD_DMA_Start( int ad_ch_no, int ad_gain , int dma_ch_no ,
                    int irq_no, int count , int *ad_buffer , int c1 , int c2 );
extern  int _812_AD_DMA_Status( int *status , int *count );
extern  int _812_AD_DMA_Stop( int *count );

extern  int _812_AD_INT_Start( int ad_ch_no, int gain , int irq_no, int count ,
                           int *ad_buffer, int c1, int c2 );
extern  int _812_AD_INT_Status( int *status, int *count  );
extern  int _812_AD_INT_Stop( int *count );
/*---------------------------------------------- Timer ---------------------*/
extern  int _812_AD_Timer( int c1 , int c2 );
extern  int _812_TIMER_Start( int timer_mode, unsigned int c0 );
extern  int _812_TIMER_Read( unsigned int *counter_value );
extern  int _812_TIMER_Stop( unsigned int *counter_value );

⌨️ 快捷键说明

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