使用的是qq2440的2.6.13的内核
遇到了以下问题: 大致调用的系统调用的顺序如下: fd = open( "/dev/tts/2", O_RDWR|O_NOCTTY|O_NDELAY); 时返回值为3 fcntl(fd, F_SETFL, 0) 返回值为0 isatty(STDIN_FILENO) 返回值为1,这三个函数都正常
但是,到设置参数和读写的时候,也就是从调用tcgetattr( fd,&oldtio)函数开始,就一直不对
tcgetattr( fd,&oldtio); 返回-1,
tcsetattr(fd,TCSANOW,&newtio) 返回值也不为0,
到后面调用read,或者write的时候返回值都是-1, 串口无法使用 查了很久也不知道什么原因造成的。只零星看到有可能是内核问题,驱动问题等等
请教下有相关经验的高手,指点下迷津。
|