All pastes #1440005 Raw Edit

Anonymous

public text v1 · immutable
#1440005 ·published 2009-05-29 19:29 UTC
rendered paste body
#include <stdio.h>   /* Standard input/output definitions */
#include <string.h>  /* String function definitions */
#include <unistd.h>  /* UNIX standard function definitions */
#include <fcntl.h>   /* File control definitions */
#include <errno.h>   /* Error number definitions */
#include <termios.h> /* POSIX terminal control definitions */

int fd;

    /*
     * 'open_port()' - Open serial port 1.
     *
     * Returns the file descriptor on success or -1 on error.
     */
    
    int open_port(void)
    {
      //int fd; /* File descriptor for the port */


      fd = open("/dev/ttyUSB0", O_RDWR | O_NOCTTY | O_NDELAY);
      if (fd == -1)
      {
       /*
	* Could not open the port.
	*/

	perror("open_port: Unable to open /dev/ttyUSB0 - ");
      }
      else
	fcntl(fd, F_SETFL, FNDELAY); // blocking mode repair FNDELAY with 0

      return (fd);
    }

int main(void)
{
    open_port();

    fd = write(fd, "A", 1);
    if (fd < 0)
      fputs("write() of 1 bytes failed!\n", stderr);

 //fcntl(fd, F_SETFL, FNDELAY);

  close(fd);

    struct termios options;

    /*
     * Get the current options for the port...
     */

    tcgetattr(fd, &options);

    /*
     * Set the baud rates to 19200...
     */

    cfsetispeed(&options, B9600);
    cfsetospeed(&options, B9600);

    /*
     * Enable the receiver and set local mode...
     */

    options.c_cflag |= (CLOCAL | CREAD);

    /*
     * Set the new options for the port...
     */

    tcsetattr(fd, TCSANOW, &options);

options.c_cflag &= ~PARENB;
options.c_cflag &= ~CSTOPB;
options.c_cflag &= ~CSIZE;
options.c_cflag |= CS8;

//options.c_cflag |= CNEW_CRTSCTS;

options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);

 options.c_oflag &= ~OPOST;

  close(fd);

}