GLOBAL AMICI Computer Hardware 2807700 User Manual

Page of 66
APPENDIX
File of the Main.cpp
//=====================================================================
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
// PURPOSE.
//=====================================================================
#include <dos.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include "W627HF.H"
//=====================================================================
void ClrKbBuf(void);
int  main (int argc, char *argv[]);
//=====================================================================
int  main (int argc, char *argv[])
{
unsigned char ucDO = 0;
//data for digital output
          unsigned char ucDI;                                                    //data for digital input
unsigned char ucBuf;
          Set_W627HF_LD( 0x07);                                          //switch to logic device 7
          
Set_W627HF_Reg(0xF1, 0x00);                                //clear
ucDI = Get_W627HF_Reg(0xF1) & 0x0F;
           ClrKbBuf();
          while(1)
          {
                    ucDO++;
Set_W627HF_Reg(0xF1, ((ucDO & 0x0F) << 4));
ucBuf = Get_W627HF_Reg(0xF1) & 0x0F;
if (ucBuf != ucDI)
                    {
                              ucDI = ucBuf;
printf("Digital I/O Input Changed. Current Data is 0x%X\n",ucDI);
                    }
                    if (kbhit())
                    {
                              getch();
                              break;
                    }
                    delay(500);
          }
          return 0;
}
//=====================================================================
void ClrKbBuf(void)
{
           while(kbhit())
          
getch(); 
}
}
//---------------------------------------------------------------------------
                              2807700 User’s Manual
61