• 4358阅读
  • 0回复

急!QT串口通信程序在arm开发板上只能发送不能接收 [复制链接]

上一主题 下一主题
离线mountain0728
 

只看楼主 倒序阅读 楼主  发表于: 2011-08-15

以下是主要程序部分,在电脑上调试可以通过,能发送和接收,但放到arm板上就只能发送,不能接收了,arm可以发送数据给电脑,但不能接收电脑发送回来的数据。谁知道这是什么问题啊?好着急!谢谢大家!

void serialport::sendButtonClicked()
{
    QString str = m_sendEdit->text();
    ::write(m_fd,str.toLatin1(),str.length());
}
int serialport::openSerialPort()
{
    int fd = -1;
    const char *devName = "/dev/ttyS0";
    fd = ::open(devName, O_RDWR | O_NONBLOCK);
    if (fd < 0) {
            return -1;
    }
    termios serialAttr;
    memset(&serialAttr, 0, sizeof serialAttr);
    serialAttr.c_iflag = IGNPAR;
    serialAttr.c_cflag = B115200 | HUPCL | CS8 | CREAD | CLOCAL;
    serialAttr.c_cc[VMIN] = 1;
    if (tcsetattr(fd, TCSANOW, &serialAttr) != 0) {
            return -1;
    }
    return fd;
}
void serialport::remoteDataIncoming()
{
    char c;
    if(read(m_fd,&c,sizeof c) !=1){
        QMessageBox::warning(this,tr("Error"),tr("Receive error!"));
        return;
    }
    m_receiveEdit->insertPlainText(QString(QChar(c)));
}
菜鸟大仙
快速回复
限100 字节
 
上一个 下一个