- tattr.c_iflag &= ~(IGNBRK | BRKINT | PARMRK | ISTRIP
- | INLCR | IGNCR | ICRNL | IXON);
- tattr.c_oflag &= ~OPOST;
- tattr.c_lflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN);
- tattr.c_cflag &= ~(CSIZE | PARENB);
- tattr.c_cflag |= CS8;
-
- tattr.c_cc[VMIN] = 1;
- tattr.c_cc[VTIME] = 0;
+// tattr.c_iflag &= ~(IGNBRK | BRKINT | PARMRK | ISTRIP
+// | INLCR | IGNCR | ICRNL | IXON);
+// tattr.c_oflag &= ~OPOST;
+// tattr.c_lflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN);
+// tattr.c_cflag &= ~(CSIZE | PARENB);
+// tattr.c_cflag |= CS8;
+
+ /* Sets hardware control flags: */
+ /* 8 data bits */
+ /* Enable receiver */
+ /* Ignore CD (local connection) */
+ tattr.c_cflag = CS8 | CREAD | CLOCAL;
+ tattr.c_iflag = 0;
+ tattr.c_oflag = NL0 | CR0 | TAB0 | BS0 | VT0 | FF0;
+ tattr.c_lflag = 0;
+
+// tattr.c_cc[VMIN] = 1;
+// tattr.c_cc[VTIME] = 0;
+
+ tattr.c_cc[VINTR] = '\0';
+ tattr.c_cc[VQUIT] = '\0';
+ tattr.c_cc[VERASE] = '\0';
+ tattr.c_cc[VKILL] = '\0';
+ tattr.c_cc[VEOF] = '\0';
+ tattr.c_cc[VTIME] = '\0';
+ tattr.c_cc[VMIN] = 1;
+ tattr.c_cc[VSWTC] = '\0';
+ tattr.c_cc[VSTART] = '\0';
+ tattr.c_cc[VSTOP] = '\0';
+ tattr.c_cc[VSUSP] = '\0';
+ tattr.c_cc[VEOL] = '\0';
+ tattr.c_cc[VREPRINT] = '\0';
+ tattr.c_cc[VDISCARD] = '\0';
+ tattr.c_cc[VWERASE] = '\0';
+ tattr.c_cc[VLNEXT] = '\0';
+ tattr.c_cc[VEOL2] = '\0';