This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: printf goes to serial port?



Matt Wozniski wrote:
On Fri, Dec 19, 2008 at 2:30 PM, Gary R. Van Sickle wrote:
From: Alex Martin

Hello,

I have a cygwin environment, running some software I am
writing to talk to some serial devices.

Somehow, trying to debug why I could not see printf output to
console, I ran a serial port sniffer and voila all of my
printf commands are writing on the serial port.

I can't say that it would cross my mind to look for my missing printf output
on a serial port, even if I was using a serial port in other parts of the
program to talk to something.  Whatever it was that gave you the hunch to do
that is probably at the core of your problem.

My slightly wild guess is that you do an open() on the serial device without a controlling terminal and without passing the O_NOCTTY flag, causing the serial device to become your controlling terminal.

~Matt

Hello,

I do this:
//snip
    if (port == 1) {
       fd = ::open("/dev/ttyS0", O_NONBLOCK | O_RDWR | O_NOCTTY );
    }
//snip

Can you point me to some info about "controlling terminal"? I have been living in a strict c++/cygwin/fox-toolkit world and I am not familiar with terminals and things.

If I try to run my .exe from a cygwin prompt, it doesnt start up. If I run my exe from a cmd.exe window, it starts up my app but then returns to a prompt instead of staying open to catch printfs and such.

Any ideas?

Thanks for your help.

Alex Martin

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]