outportb problem

R

rick

Greetings to all,

i am not sure this is the write group to post my question to. If it is
not i apologize. In the mean time if you have the answer to my
question please help. THANKS!!

i am trying to write a program using parallel port. I wrote this
program to change the port number to one or zero. I am not able to
change the port number from one to zero. It takes it sever run time to
change from one to zero. WHY? ANY SUGGESTIONS?

#include <conio.h>
#include <stdio.h>
#include <dos.h>

int main()
{
char ch, ch2;

while (getch() != 'E')
{
printf ("please enter z to write zero to the parallel port \n");
printf ("please enter o to write one to the parallel port \n");

ch = getch();
if (ch = = 'z')
{
outportb (0x3BC, 0x00);
printf ("writing 0 to the parallel port \n");
}

if (ch == 'o')

outportb (0x3BC, 0x0F);
printf ("writing one to the parallel port \n");
}
};
 
V

Victor Bazarov

rick said:
i am not sure this is the write group to post my question to. If it is
not i apologize. In the mean time if you have the answer to my
question please help. THANKS!!

i am trying to write a program using parallel port. I wrote this
program to change the port number to one or zero. I am not able to
change the port number from one to zero. It takes it sever run time to
change from one to zero. WHY? ANY SUGGESTIONS?

#include <conio.h>
#include <stdio.h>
#include <dos.h>

[...]

The newsgroup to post your question is 'comp.os.msdos.programmer'.

V
 
J

Jim Langston

rick said:
Greetings to all,

i am not sure this is the write group to post my question to. If it is
not i apologize. In the mean time if you have the answer to my
question please help. THANKS!!

i am trying to write a program using parallel port. I wrote this
program to change the port number to one or zero. I am not able to
change the port number from one to zero. It takes it sever run time to
change from one to zero. WHY? ANY SUGGESTIONS?

#include <conio.h>
#include <stdio.h>
#include <dos.h>

int main()
{
char ch, ch2;

while (getch() != 'E')
{
printf ("please enter z to write zero to the parallel port \n");
printf ("please enter o to write one to the parallel port \n");

ch = getch();
if (ch = = 'z')
{
outportb (0x3BC, 0x00);
printf ("writing 0 to the parallel port \n");
}

if (ch == 'o')

outportb (0x3BC, 0x0F);
printf ("writing one to the parallel port \n");
}
};

If this is your real code, you are missing breackets after if ( ch=='o' ) to
include the next two lines. Meaning that it would print "writing one to the
parallel port \n" every time. Although it would only set the port if 'o'
was pressed.

Other than that try in a newsgroup appropriate to your OS. I'm guessing
it's windows so try microsoft.public.vc.language.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,020
Latest member
GenesisGai

Latest Threads

Top