/****************************************** This demo show how to use FRnet_DIO_WriteDOBit to write single bit digital output via FR-2054 FRnet_DIO_WriteDOGroup to write digital output via FR-2054 FRnet_DIO_ReadDIGroup to read digital input via FR-2054 FRnet_DIO_ReadDIBit to read single bit digital input via FR-2054 For more detail information about how to use these function, please refer to RFnet.h Compiler: BC++ 3.1, Turbo C++ 1.01 (free from http://community.borland.com/museun) Compile mode: Large [Jun, 2010] by Martin ******************************************/ #include #include "..\lib\7188E.h" #include "..\lib\FRnet.h" void main(void) { int iDIdata,iSlot,iPort,iGroup,i,iChannel,iMode,iStatus,iRet,iDOdata,iBit; char cTemp[10]; InitLib(); Print("Please input Group:"); LineInput(cTemp,10); sscanf(cTemp,"%d",&iGroup); for(;;) { Print("Please input read mode:\n\r"); Print("0. Write single channel output \n\r"); Print("1. Write multi channel output \n\r"); Print("2. Read single channel input \n\r"); Print("3. Read all channel input \n\r"); LineInput(cTemp,10); sscanf(cTemp,"%d",&iMode); switch(iMode) { case 0: Print("Please input channel number(0~7)\n\r"); LineInput(cTemp,10); sscanf(cTemp,"%d",&iBit); Print("Please input status(0.OFF, 1.ON )\n\r"); LineInput(cTemp,10); sscanf(cTemp,"%d",&iStatus); FRnet_DIO_WriteDOBit(iGroup,iBit,iStatus); break; case 1: Print("Input Data 0 ~ 0xff \n\r"); LineInput(cTemp,10); sscanf(cTemp,"%X",&iDOdata); FRnet_DIO_WriteDOGroup(iGroup,iDOdata & 0xff); break; case 2: iDIdata=FRnet_DIO_ReadDIGroup(iGroup); Print("DI data %X\n\r",iDIdata); break; case 3: Print("Please select DI channel number\n\r"); LineInput(cTemp,10); sscanf(cTemp,"%d",&iChannel); iRet=FRnet_DIO_ReadDIBit(iGroup,iChannel); if(iRet) Print("The Channel %d is on.\n\r",iChannel); else Print("The Channel %d is off.\n\r",iChannel); break; } Print("Key the 'q' to quit or any key to continue.\n\r"); if(Getch()=='q') return; } }