#include #include #include #include #include #include #include #include #include #include int main(int argc, char *argv[]) { int ser_fd; ser_fd = open("/dev/ttyS0", O_RDWR); // | O_NONBLOCK); if (ser_fd == -1) { perror("open failed"); exit(-1); } struct termios term_p; tcgetattr(ser_fd, &term_p); cfsetispeed(&term_p, B115200); cfsetospeed(&term_p, B115200); term_p.c_cflag &= ~PARENB; term_p.c_cflag &= ~CSTOPB; // term_p.c_cflag &= ~CSIZE; term_p.c_cflag |= CS8; term_p.c_cflag |= CREAD; if (tcsetattr(ser_fd, TCSANOW, &term_p) == -1) { perror("tcsetattr failed"); exit(-1); } fprintf(stdout, "writing ... \n"); char* message = "Hello World"; int nwritten = write(ser_fd, message, strlen(message)); if (nwritten == -1) { perror("write failed"); exit(-1); } fprintf(stdout, "write ok\n"); fprintf(stdout, "reading ... \n"); char buf[1024]; int nread = read(ser_fd, buf, 1024); if (nread == -1) { perror("read failed"); exit(-1); } else { fprintf(stdout, "read %d bytes\n", nread); } fprintf(stdout, "read ok\n"); return 0; }