|
测试条件,软件上,将设备改为"/dev/tq2440_serial1"。
在硬件上,将TX1与RX1短接。
然后在开发板TQ2440上运行serial_test,现象如下:
recv:14
HELLO,TQ2440!
recv:14
HELLO,TQ2440!
......
注意到了程序的同仁请再看一下程序serial_rw:
void serial_rw()
{
......
printf("nwrite=%d\n",nwrite);
nwrite = write(serial_fd,buff2,sizeof(buff2));
while(1)
{
if((nread = read(serial_fd,buff,512))>0)
{
buff[nread] = '\0';
printf("\nrecv:%d\n",nread);
printf("%s",buff);
printf("\n");
}
}
close(serial_fd);
}
这里write仅仅调用了一次,但是之后的每次read却都能读出数据,这究竟是怎么一回事?是否驱动存在严重bug?
|
|