/****************************************** This demo show how to write analog output via FR-2024 For more detail information about how to use i8172_WriteAOFloat, 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\8000A.h" #include "..\lib\8172.h" void main(void) { short iSlot,iPort,iGroup,bitMode,aoCh,ret; int ID; char cTemp[10]; float aoFloat=-10.0; short needDelay ; unsigned long T1; char libDate[32]; InitLib(); Print("\n****************************"); Print("\nLibrary Version =: %04X",i8172_GetLibVersion()); i8172_GetLibDate(libDate); Print("\nBuild Date =: %s",libDate); Print("\n****************************\n"); needDelay =0 ; // default for i8172_WriteAOFloat bitMode = 12 ; // default for FR-2024 start: Print("Please input slot number (0 ~ %d): ",GetNumberOfSlot()-1); LineInput(cTemp,10); sscanf(cTemp,"%d",&iSlot); ID=i8172_Init(iSlot); if(ID<0) { Print("There is no I-8172 at slot %d\n",iSlot); goto start; } Print("Please input port number (0 ~ 1): "); LineInput(cTemp,10); sscanf(cTemp,"%d",&iPort); Print("Please input Group (0 ~ 7):"); LineInput(cTemp,10); sscanf(cTemp,"%d",&iGroup); Print("Please input ch index to analog output: 0 ~ 3\n"); LineInput(cTemp,10); sscanf(cTemp,"%d",&aoCh); T1= GetTimeTicks(); for(;;) { if(GetTimeTicks()-T1 > 500) { i8172_WriteAOFloat(iSlot,iPort,iGroup, bitMode,aoCh,0x33, aoFloat,needDelay); aoFloat +=0.1; T1=GetTimeTicks(); } if(aoFloat >=10.0) aoFloat =-10.0; if (Kbhit()) {Getch(); return;} } }