谢谢2楼回复
我经过一番调试,从开发板的串口输出到串口调试助手上已经没有问题了(我修改的只是串口代码,这可能不是编码格式的原因了),但是要从开发板的串口输入显示的却还是乱码,怎么也找不出原因所在,只有麻烦各位大侠看一下了,我的从串口读入函数如下,您帮忙看一下,是哪里的问题,
void frmclient::ReadBoardPort()
{
char BoardRecvbuf[256];
int buflen= -1;
if(GPSEnable)
{
memset(BoardRecvbuf,0,sizeof(BoardRecvbuf));
buflen=::read( gpsfd, BoardRecvbuf, sizeof(BoardRecvbuf));
if (buflen>0)
{
BoardRecvbuf[buflen]=0;
QString str(BoardRecvbuf);
txtMsgContent->insertLine(BoardRecvbuf);// line 14
txtMsgContent->insertLine(str);//line 15
this->ProcessGpsData(str);
}
}
}
如上程序,我分析了一下,14,15行,在屏幕上输出的乱码是一样的,那样就不是字符变量转换的问题,而是串口读入函数的问题,可我检查了好几遍,没有问题啊。