C programming serial ports

  1. In my C book it says that the serial port is stdaux, but when I make a program to send data to stdaux the compiler (Dev-C++ in Windows and gcc in linux) says that stdaux doesn't exist :frown: Can anyone explain or point me toward a good tutorial about using the serial ports in C?

  2. jcsd
  3. dduardo

    dduardo 1,895
    Staff Emeritus

  4. using serial ports


    The serial port has been around and in use over 50 years. Some of the standards may seem odd, like signal names? why all those pins if we only use 3? Whats with data set ready, CTS, DCD? Realize those were for older systems and teletype equipment.

    What we use today is a simple interface, it assumes the cable is fine and it tends to easily spout data across.

    From the program, what you need to do is configure and talk to the communications chip that drives the serial port, it handles moving the data.

    You have to set the data rate, start/stop bits usually 9600 baud, 8 bits no parity 1 stop, so its 9600, 8, N, 1 almost all the time.

    To approach 100K speeds it can take some extra work; but generally I find it easiest to begin at 9600 to establish the link, then try for higher data rates.

    Your program will have to have some include file like a .h to "drive" the serial port chip. you could call the stdaux function, which would then have to figure out how to program/talk to the serial port chip. COM1/2 are fixed addresses in a PC, locked into the hardware. If I recall you get 8 bytes to address, one of those is the actual data, another is a status byte, another a config byte??? something like that.

    You would, depending on your include file, either write bytes or write to a buffer area (or read) The functionality comes from that file, you could write your own but there should be great ones out in virtual cyberspace
    Last edited: Sep 13, 2005
Know someone interested in this topic? Share this thead via email, Google+, Twitter, or Facebook

Have something to add?