From: Nicole P. <np...@ei...> - 2007-01-29 22:46:48
|
Hello, =20 A couple weeks ago I got some help (from DJ Delorie) with respect to using termios to set up,read from and write to ttyS2. This was very helpful for me but it seems that cfsetispeed,cfsetospeed did not set the input and output baud rates to the speed required. This may be something I am overlooking or unaware of. =20 When I run my code, It executes without errors but when I check the ttyS2 settings (using the command line stty -a -F /dev/ttyS2) it says the baud rate is 4800 instead of 19200 that I tried setting it to. Here is the setup part of the code: fd_ttyS2 =3D open_port(); =20 tcgetattr (fd_ttyS2,&options); =20 i_speed =3D cfsetispeed(&options, B19200); //setting input baud o_speed =3D cfsetospeed(&options, B19200); //setting output baud cfmakeraw(&attr); =20 =20 =20 options.c_iflag &=3D ~( INPCK | IXON); // setting up input options options.c_iflag |=3D IGNBRK; options.c_lflag &=3D ~(ICANON | ECHO | ECHOE | ISIG); options.c_cflag &=3D ~ (PARENB | CSTOP | CSIZE | CRTSCTS);=20 options.c_cflag |=3D (CS8 | CLOCAL |CREAD);=20 options.c_oflag &=3D ~OPOST; options.c_cc[VTIME] =3D 5; //wait half a second for data set_attr =3D tcsetattr(fd_ttyS2, TCSANOW, &options); //set options now =20 if (i_speed < 0) fputs("Unable to set input speed!\n", stderr); if (o_speed < 0) fputs("Unable to set output speed!\n", stderr); if (set_attr< 0) fputs("Attempt to set attributes failed!\n", stderr); =20 this is the output seen when I check the settings using the command line: =20 =20 # stty -a -F /dev/ttyS2 =20 speed 4800 baud; rows 0; columns 0; intr =3D ^C; quit =3D ^\; erase =3D ^?; kill =3D ^U; eof =3D ^D; eol =3D = <undef>; eol2 =3D <undef>; start =3D ^Q; stop =3D ^S; susp =3D ^Z; rprnt =3D ^R; = werase =3D ^W; lnext =3D ^V; flush =3D ^O; min =3D 1; time =3D 5; -parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 -isig -icanon -iexten -echo -echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke =20 # Any help with this would be appreciated.=20 =20 Thanks,=20 Nicole =20 =20 |
From: Nicole P. <np...@ei...> - 2007-01-30 15:53:15
|
1. Try cfmakeraw() before set*speed(). > 2. Try the stty while the program still holds the serial port open. > Once the port is closed, all bets are off. =20 You could use stty to set the serial speed with a system() call. =20 =20 I tried changing the position of cfmakeraw() but that didn't appear to work, I was able to change set the baud rrate using the system() call. thanks for your help -Nicole =20 =20 =20 |
From: DJ D. <dj...@de...> - 2007-01-29 23:26:21
|
"Nicole Phang" <np...@ei...> writes: > i_speed = cfsetispeed(&options, B19200); //setting input baud > o_speed = cfsetospeed(&options, B19200); //setting output baud > cfmakeraw(&attr); 1. Try cfmakeraw() before set*speed(). 2. Try the stty while the program still holds the serial port open. Once the port is closed, all bets are off. |
From: Rob B. <ro...@gm...> - 2007-01-30 00:33:02
|
You could use stty to set the serial speed with a system() call. -RobB On 29 Jan 2007 18:26:04 -0500, DJ Delorie <dj...@de...> wrote: > > > "Nicole Phang" <np...@ei...> writes: > > i_speed = cfsetispeed(&options, B19200); //setting input baud > > o_speed = cfsetospeed(&options, B19200); //setting output baud > > cfmakeraw(&attr); > > 1. Try cfmakeraw() before set*speed(). > > 2. Try the stty while the program still holds the serial port open. > Once the port is closed, all bets are off. > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > |