左边第一副是我用Qt做的一个
界面 主要是实现
数据通过串口rs232 传输给51 然后51 返回数据在Qt上面
显示。
问题是:我只能传输数字和字符 不能传输汉字 也不知道汉字传输成功没,我知道的是:接受的是
乱码 全是?
代替了。求高手的帮助,在此先谢过了!
右边这一幅图片是我用
串口调试工具 调试的 在那上面能够显示汉字 而且很正常啊 就是用Qt给他发送数据时
不能正常显示汉字。
下面是我一些代码:
//这个是我的串口初始化代码
struct PortSettings myComSetting = {BAUD4800,DATA_8,PAR_NONE,STOP_1,FLOW_OFF,500};
// 定义一个结构体,用来存放串口各个参数
myCom = new Win_QextSerialPort("com2",myComSetting,QextSerialBase::EventDriven);
// 定义串口对象,并传递参数,在构造函数里对其进行初始化
myCom ->open(QIODevice::ReadWrite);
// 以可读写方式打开串口
connect(myCom,SIGNAL(readyRead()),this,SLOT(readMyCom()));
//信号和槽函数关联,当串口缓冲区有数据时,进行读串口操作
void MainWindow::readMyCom()//读串口函数
{
#ifdef DEBUG
qDebug()<<"HelloB";
#endif
QByteArray temp = myCom->readAll();
//读取串口缓冲区的所有数据给临时变量temp
QString myStrTemp;
myStrTemp =
QString(temp);
ui->textBrowser->insertPlainText(myStrTemp);
//将串口的数据显示在
窗口的文本浏览器中
}
//这个是我点击上图左 的 发送
按钮 对应的接口
void MainWindow::on_pushButtonTrans_clicked()
{
myCom->write( ui->lineEdit->text().toAscii());
}