/** * Eugene Marinelli */ #include #include #include #include #include #include /* Initialize serial connection. Borrowed from 18349 2007 lab3. */ int init_serial(char* port, speed_t baud, int oflag) { struct termios options; int serial = open(port, oflag); if (serial < 0) { perror("Device open failed"); return -1; } else { printf("Serial opened, fd=%d\n", serial); } tcgetattr(serial, &options); cfsetispeed(&options, baud); cfsetospeed(&options, baud); options.c_cflag |= (CLOCAL | CREAD); options.c_cflag &= ~PARENB; options.c_cflag &= ~CSTOPB; options.c_cflag &= ~CSIZE; options.c_cflag |= CS8; options.c_lflag &= ~ICANON; options.c_cc[VMIN] = 1; options.c_cc[VTIME] = 50; tcsetattr(serial, TCSANOW, &options); return serial; }