函数: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系统,这个程序不会成为这个端口的控制终端.