Hi,
i was making an electronic project "PC CONTROLLED RELAY INTERFACE" in which we use IC switches and a program written in C to control equipment from a comp..
since i have no background in C/C++ programming, another guy wrote the program in Turbo C Dos Version, but now we are unable to compile the same..
i am uploading the code file...can some one have a look at it and advice..
we are using Turbo C 3.0, DOS version for programming and compiling...
tnx..
[code]#include
#includemain()
{
int m_menu[5],sh;/*Data type and effected line modified by Girish Aneja*/
printf("
Welcome to Relay Switching and Recieving Digital Sensor Signal
");
do
{
m_menu[0]='y';
printf("
Welcome to Main Menu
");
printf("
1____Switching the Relay
");
printf("
2____Getting Digital Signal from Sensor
");
printf("
3____To Quit
");
scanf("%d",&sh); /*This Line ollowing line modified */
switch(sh)
{
case 3:printf("Program Modified and Tested by Girish Aneja
");
getch();
m_menu[0]='n';
break;
case 1:idswitch();
break;
case 2:ssignal();
break;
default:printf("
Invalid Choice
");
getch();
break;
}
}
while(m_menu[0]=='y');
}
idswitch()
{
int sno,ks,kpr;
printf("
Enter Switch No==
");
scanf("%d",&sno);
printf("
Enter State (ON=1 or OFF==0)");
scanf("%d",&ks);
if(ks==1)
{
if(sno>0&&sno<8)
kpr=1;
if(sno>7&&sno<15)
kpr=2;
switch(kpr)
{
case 1:outportb(0x378,(sno-1+16));
outportb(0x37a,0xff);
break;
case 2:outportb(0x378,(sno-8+32));/* modified */
outportb(0x37a,0xff);
break;
default:break;
}
getch();
/* return; modified - deleted- */
}
if(ks==0) /* modified - added- */
{
if(sno>0&&sno<8)
kpr=1;
if(sno>7&&sno<15)
kpr=2;
switch(kpr)
{
case 1:outportb(0x378,(sno-1+16));
outportb(0x37a,0x00);
break;
case 2:outportb(0x378,(sno-8+32));/* modified */
outportb(0x37a,0x00);
break;
default:break;
}
getch();
return;
}
}
ssignal()
{
int k,sen;
outportb(0x378,00);
outportb(0x37a,0x00);
printf("
Enter Sensor No (1-16)");
scanf("%d",&k);
outportb(0x378,(k-1+48));
sen=inportb(0x37a);
/* printf("%c",sen); Test Line used by Girish Aneja */
/* Following 4 lines modified/added by Girish Aneja */
sen=sen & 1;
/* printf("
%c",sen); Test Line used by Girish Aneja */
if(sen==0)
{
printf("
Input Signal at Sensor No %d IS Low==0",k);
goto a;
}
printf("
Input Signal at Sensor No %d IS High=1",k);
a:
getch();
outportb(0x37a,0xff);
return;
}
[/code]
Comments
With a Windows compiler, you can use this:
http://www.beyondlogic.org/porttalk/porttalk.htm