MCPcopy Create free account
hub / github.com/WiringPi/WiringPi / serialOpen

Function serialOpen

wiringPi/wiringSerial.c:44–123  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

42 */
43
44int serialOpen (const char *device, const int baud)
45{
46 struct termios options ;
47 speed_t myBaud ;
48 int status, fd ;
49
50 switch (baud)
51 {
52 case 50: myBaud = B50 ; break ;
53 case 75: myBaud = B75 ; break ;
54 case 110: myBaud = B110 ; break ;
55 case 134: myBaud = B134 ; break ;
56 case 150: myBaud = B150 ; break ;
57 case 200: myBaud = B200 ; break ;
58 case 300: myBaud = B300 ; break ;
59 case 600: myBaud = B600 ; break ;
60 case 1200: myBaud = B1200 ; break ;
61 case 1800: myBaud = B1800 ; break ;
62 case 2400: myBaud = B2400 ; break ;
63 case 4800: myBaud = B4800 ; break ;
64 case 9600: myBaud = B9600 ; break ;
65 case 19200: myBaud = B19200 ; break ;
66 case 38400: myBaud = B38400 ; break ;
67 case 57600: myBaud = B57600 ; break ;
68 case 115200: myBaud = B115200 ; break ;
69 case 230400: myBaud = B230400 ; break ;
70 case 460800: myBaud = B460800 ; break ;
71 case 500000: myBaud = B500000 ; break ;
72 case 576000: myBaud = B576000 ; break ;
73 case 921600: myBaud = B921600 ; break ;
74 case 1000000: myBaud = B1000000 ; break ;
75 case 1152000: myBaud = B1152000 ; break ;
76 case 1500000: myBaud = B1500000 ; break ;
77 case 2000000: myBaud = B2000000 ; break ;
78 case 2500000: myBaud = B2500000 ; break ;
79 case 3000000: myBaud = B3000000 ; break ;
80 case 3500000: myBaud = B3500000 ; break ;
81 case 4000000: myBaud = B4000000 ; break ;
82
83 default:
84 return -2 ;
85 }
86
87 if ((fd = open (device, O_RDWR | O_NOCTTY | O_NDELAY | O_NONBLOCK)) == -1)
88 return -1 ;
89
90 fcntl (fd, F_SETFL, O_RDWR) ;
91
92// Get and modify current options:
93
94 tcgetattr (fd, &options) ;
95
96 cfmakeraw (&options) ;
97 cfsetispeed (&options, myBaud) ;
98 cfsetospeed (&options, myBaud) ;
99
100 options.c_cflag |= (CLOCAL | CREAD) ;
101 options.c_cflag &= ~PARENB ;

Callers 3

drcSetupSerialFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85

Calls

no outgoing calls

Tested by 1

mainFunction · 0.68