读书人

嵌入式linux,串口初始化时,无法设置串

发布时间: 2012-02-13 17:20:26 作者: rapoo

嵌入式linux,串口初始化时,无法设置串口属性
各位好,请教大家一个问题,
在arm板子上写一个串口通讯的代码
在初始化串口的时候,一旦进行设置,就会死在设置函数中
比如这么做:

C/C++ code
int fd;struct termios options;fd = open("/dev/ttyAMA0", O_RDWR | O_NOCTTY);tcgetattr(fd, &options);tcsetattr(fd,TCSANOW,&options);


这样运行的话,就会死在tcsetattr函数里面不出来
这个到底是什么原因呢?
请大家指教,谢谢

[解决办法]
open时,增加|O_NDELAY 属性

tcsetattr前边增加:
C/C++ code
    options.c_cflag |= (CLOCAL | CREAD);    tcflush( fd , FLUSHMETHOD);
[解决办法]
或者用tcflush(fd,TCIOFLUSH);

读书人网 >UNIXLINUX

热点推荐