/* X702XorDemo.c: Demo program for X702 Compiler: BC++ 3.1 Turbo C ++ 1.01(3.01) (free from http://community.borland.com/museum) Compile mode: large Project: X702Xor Demo. ..\..\..\..\lib\7188xbl.lib or 7186EL.LIB or 7188EL.LIB ..\..\..\..\lib\XBoard\X702.lib Hardware: 7188XB\7188EX\7186EX + X702 Description: Show status for XOR and A/B/Z axes [5/Mar/2010] by Vic */ /********************************************************************************/ /* X702: 2-axis encoder counter */ /********************************************************************************/ #include #include "..\..\..\..\lib\7188xb.h" #include "..\..\..\..\lib\XBoard\x702.h" int xor1,xor2; void show_abz(void); void main() { InitLib(); Print("\nxor1 = (0 or 1) ?"); xor1=Getch()-'0'; if (xor1) xor1=1; Print("\nxor2 = (0 or 1) ?"); xor2=Getch()-'0'; if (xor2) xor2=1; X702_Init(); X702_SetXOR(1,xor1); X702_SetXOR(2,xor2); for (;;) { if (Kbhit()) { Getch(); return; } show_abz(); DelayMs(100); } } void show_abz(void) { int A1,B1,Z1,A2,B2,Z2,ret1,ret2; X702_GetLineStatus(1,&A1,&B1,&Z1); X702_GetLineStatus(2,&A2,&B2,&Z2); Print("\n(XOR1=%d, Z1B1A1=%d%d%d) * ",xor1,Z1,B1,A1); Print("(XOR2=%d, Z2B2A2=%d%d%d)",xor2,Z2,B2,A2); }