以下是主要程序部分,在电脑上调试可以通过,能发送和接收,但放到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)));
}