请linux 高手(100分)

  • 主题发起人 主题发起人 wrf
  • 开始时间 开始时间
W

wrf

Unregistered / Unconfirmed
GUEST, unregistred user!
请都如何在unix或red hat linux下对串行口操作,包括设置波特率、数据位等设置,最好有简单的程序
 
分析源代码吧。
到网上去下载一个。
然后拿回来分析吧。
 
听说外国有这样的空间,好像叫turbopower
 
哦,串口也是一个设备,直接打开就行
devfd = open ("/dev/ttyS0",O_ RDWD | O_NOCTTY);
设置:
struct termios newtio;
newtio.c_flag = B9600 | CS8;
然后用tcsetattr
 
dev_fd = open(dev, O_RDWR | O_NOCTTY);
if (dev_fd <0 ) {
perror(dev);
return 0;
//0 -- Serial open failed.
}
tcgetattr(dev_fd, &amp;oldtio);
/* save current DEVICE settings */
bzero(&amp;newtio, sizeof(newtio));
//newtio.c_cflag = B115200 | CS8 | CLOCAL | CREAD;
newtio.c_cflag = B9600 | CS8 | CLOCAL | CREAD;
newtio.c_iflag = IGNPAR | IGNBRK;
newtio.c_oflag = 0;
newtio.c_lflag = 0;
newtio.c_cc[VTIME] = 0;
newtio.c_cc[VMIN] = 1;
tcflush(dev_fd, TCIFLUSH);
if (tcsetattr(dev_fd, TCSANOW, &amp;newtio) == -1) {
// fprintf(stderr, "sorry,tcsetattr error!/n");
return -1;
//-1 set attr failed.
}
tcdrain(dev_fd);
 
Linux下有個setserial命令可以.編程的不會.
 
接受答案了.
 
后退
顶部