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: Problem with serial port init


Hey Brian,

I don't know if anybody else replied, but here is some code that I have used
to run a port at 115,200 bps (you should see how to change the various
parameters for different speeds/operation).

         hComm = CreateFile(COMList[i], GENERIC_READ | GENERIC_WRITE,
                0,
                0,
                OPEN_EXISTING,
                FILE_FLAG_OVERLAPPED,
                0);
            if (hComm == INVALID_HANDLE_VALUE)
            {
//  Error, Can't Open Port (usually because its not there)
            } else {                   //  Open OK, Specify Parameters via
DCB
                ZeroMemory(&dcbSer, sizeof(dcbSer));
                if (!GetCommState(hComm, &dcbSer))
                {                      //  Can't Set Baudrate and other
Parameters
//  Error, Can't Read DCB for Serial Port
                } else {               //  Set Serial Port Parameters
                    dcbSer.BaudRate    = CBR_115200;
                    dcbSer.ByteSize    = 8;
                    dcbSer.Parity      = NOPARITY;
                    dcbSer.StopBits    = ONESTOPBIT;
                    dcbSer.fDtrControl = DTR_CONTROL_DISABLE;
                    if (!SetCommState(hComm, &dcbSer))
                    {                  //  Can't Set Baudrate and other
Parameters
//  Error, Can't Set DCB Parameters
                    } else {           //  Set Serial Port Parameters
//  You're ready to Rock
                    }  //  fi
                }  //  fi
            }  //  fi

For other parameters/defines, you can find them at
http://msdn.microsoft.com.

Good luck!

myke

----- Original Message ----- 
From: "Brian Ford" <ford@vss.fsi.com>
To: "Arik BenDov" <arikbd@hotmail.com>
Cc: <cygwin@cygwin.com>
Sent: Monday, February 09, 2004 3:32 PM
Subject: Re: Problem with serial port init


> On Mon, 9 Feb 2004, Arik BenDov wrote:
>
> > Hi,
> >
> > I have a strang proglem any help will be appriciated
> >
> > I have s program sending data VIA serial port between 2 machines. The
program
> > works fine when both are Linux.
> > I use cygwin to port the program to windows (I run the program under Dos
shell
> > not Cygwin) and I have problem with the port setup part, the program
cannot
> > set the serial port parameters (speed, data bits etc).
> >
> > When I disable the port setup part and use mode to set the port
parameters the
> > program works fine.
> >
> > Does any one has code example (in C, C++) that does the work? I'm using
> > termios tcsetattr.
> >
> WFM.
>
> Please see:
> > Problem reports:       http://cygwin.com/problems.html
> >
>
> for how to submit a more well formed report.  Please pay special
> attention to the part that requests uncompressed cygcheck output as an
> attachment.  Also, please give more details about the specific values
> passed to tcsetattr and its return code.  Thanks.
>
> -- 
> Brian Ford
> Senior Realtime Software Engineer
> VITAL - Visual Simulation Systems
> FlightSafety International
> Phone: 314-551-8460
> Fax:   314-551-8444
>
> --
> 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/
>
>
>



--
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]