很奇怪的问题,程序卡死在串口设置函数里面,出不来了

来源:互联网 发布:天猫精灵 小爱 知乎 编辑:程序博客网 时间:2024/05/15 07:08

函数:tcsetattr(fd,TCSANOW,&newtio)

 

open串口也是成功的,一进入这个串口设置函数,程序就卡死,出不来;

如果fd被占用,肯定打开是失败的,可以通过PID查看这个进程占用了哪些资源:ls -l /proc/304/fd;

 

解决:

我尝试了很多open参数,我用属性O_NOCTTY去打开时,意外发现,不卡死了;

 

open( "/dev/ttyAMA3", O_RDWR|O_NONBLOCK|O_NOCTTY);

O_NOCTTY:通知linux系统,这个程序不会成为这个端口的控制终端.
0 0
原创粉丝点击