用PC的串口调试助手发送数据下来,我发誓11个字节,我一次从串口读取512个字节,但是Linux串口的只接收到8个字节,怎么回事呢?
串口一些配置如下:
newtio.c_lflag &= ~(ICANON); /*Input*/
newtio.c_cc[VTIME] = 5;//超时时间 百ms
newtio.c_cc[VMIN] = 0;
串口读取如下;
fd_set rfds;
struct timeval tv;
tv.tv_sec = 0;
tv.tv_usec = 200000;
int retval;
int nn = 0;
memset((*ReadUartDat).ReadBuf,0,UARTBUFFSIZE);
FD_ZERO(&rfds);
FD_SET(((*ReadUartDat).uart_fd),&rfds);
nn = (FD_ISSET(((*ReadUartDat).uart_fd),&rfds));
if(nn >0)
{
FD_ZERO(&rfds);
FD_SET(((*ReadUartDat).uart_fd),&rfds);
if ((select(((*ReadUartDat).uart_fd + 1),&rfds,NULL,NULL,&tv))
{
perror("select()");
}
else
{