126,7 → 126,7 |
count=read(mk_socket,&in_char,1); |
|
// if ( count ==-1) exit(0); |
printf("a read %d %d %c \n",p,count,in_char); |
printf("a read %d %d %c %d\n",p,count,in_char,in_char); |
if (count!=-1) |
{ |
// printf("%c\n",in_char); |
176,7 → 176,7 |
int connect_mk_tty(char* tty_filename) |
{ |
|
mk_socket = open(tty_filename,O_RDWR); |
mk_socket = open(tty_filename,O_RDWR | O_NOCTTY); |
|
|
|
185,19 → 185,45 |
|
/* Make a copy of the termios structure. */ |
tcgetattr(mk_socket, &termattr); |
termattr.c_cc[VMIN]=0; |
termattr.c_cc[VTIME]=1; |
|
termattr.c_iflag = IGNBRK | IGNPAR; |
termattr.c_cflag=CS8 | CREAD | CLOCAL ; |
termattr.c_cflag&= ~CBAUD; |
termattr.c_cflag|=CREAD|CLOCAL; |
termattr.c_lflag&=(~(ICANON|ECHO|ECHOE|ECHOK|ECHONL|ISIG)); |
termattr.c_iflag&=(~(INPCK|IGNPAR|PARMRK|ISTRIP|ICRNL|IXANY)); |
termattr.c_oflag&=(~OPOST); |
termattr.c_cc[VMIN]=0; |
termattr.c_cc[VINTR] = _POSIX_VDISABLE; |
termattr.c_cc[VQUIT] = _POSIX_VDISABLE; |
termattr.c_cc[VSTART] = _POSIX_VDISABLE; |
termattr.c_cc[VSTOP] = _POSIX_VDISABLE; |
termattr.c_cc[VSUSP] = _POSIX_VDISABLE; |
|
termattr.c_cflag|=B57600; |
|
//data 8 |
|
termattr.c_cflag&=(~CSIZE); |
|
// no par |
termattr.c_cflag&=(~PARENB); |
|
tcsetattr(mk_socket, TCSANOW, &termattr); |
termattr.c_cflag |=CS8 | CREAD | CLOCAL ; |
termattr.c_iflag |= IGNPAR; |
// stop1 |
termattr.c_cflag&=(~CSTOPB); |
|
// Flow off |
termattr.c_cflag&=(~CRTSCTS); |
termattr.c_iflag&=(~(IXON|IXOFF|IXANY | ICRNL)); |
|
|
|
cfsetospeed(&termattr,B57600); |
cfsetispeed(&termattr,B57600); |
|
printf("set attr: %d\n" , tcsetattr(mk_socket, TCSANOW, &termattr)); |
|
|
/* |
usleep(1000000); |
char in_char='#'; |