LINUX下通讯,ARM板子串口接不到数据啊

串口设置的部分:
void first::serial()
{
int status;
struct termios Opt;
struct termios oldOpt;

fd = open("dev/tq2440_serial0" ,O_RDWR);
if(-1==fd){perror("no open");}

if(isatty(STDIN_FILENO)==0)
  {perror("standard up!");}

tcgetattr(fd, &oldOpt);
bzero(&Opt,sizeof(Opt));

Opt.c_cflag |= CLOCAL|CREAD;

//tcflush(fd, TCIOFLUSH);


Opt.c_cflag &=~CSIZE;

Opt.c_cflag |= CS8;


cfsetispeed(&Opt ,B9600);
cfsetospeed(&Opt ,B9600);

fcntl(fd, F_SETFL, O_NONBLOCK);
isatty(STDIN_FILENO);

Opt.c_iflag &= ~INPCK;
Opt.c_cflag &= ~PARENB;

Opt.c_cflag &= ~CSTOPB;

Opt.c_lflag &= ~ICANON;
Opt.c_cc[VTIME] =0;
Opt.c_cc[VMIN] =0;

Opt.c_iflag |= IGNPAR|ICRNL;
Opt.c_oflag |= OPOST; 
Opt.c_iflag &= ~(IXON|IXOFF|IXANY); 

tcflush(fd, TCIOFLUSH);

status = tcsetattr(fd, TCSANOW, &Opt);

}

就是想搞个无校验位的8位数据拉,1位停止位和9600波特率的串口
以上设置之后可以用ARM板向电脑发送数据,可是电脑向ARM板发送的数据ARM板却接不到
为何啊,渴望解答,先谢谢了,众位来see 1 see啊

作者: gongheiniu   发布时间: 2011-05-20

好像流程没多大问题,不清楚你下面设备 是不是 dev/tq2440_serial0 了 你用/dev/ttyS0 试试 也试着板子发 pc收 双向测试吧

作者: lxq00   发布时间: 2011-05-20