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