• 5028阅读
  • 3回复

qt应用程序,就调试通了,只差最后一步了 [复制链接]

上一主题 下一主题
离线zhangjifei
 
只看楼主 正序阅读 楼主  发表于: 2009-04-01
大家好:
   我开发的一个QT应用程序,下到开发板,运行,用串口线将开发板(linux系统的QT界面)的串口和PC机(Windows xp操作系统)的串口相连,在PC机端我用的是串口调试助手,结果在开发板的QT界面上显示正常,但是在调试助手上却显示乱码,检查一下,是程序代码的原因,经过一番调试,从开发板的串口输出到串口调试助手上已经没有问题了,但是要从开发板的串口输入显示的却还是乱码,怎么也找不出原因所在,只有麻烦各位大侠看一下了,我的从串口读入函数如下,您帮忙看一下,是哪里的问题,
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行,在屏幕上输出的乱码是一样的,那样就不是字符变量转换的问题,而是串口读入函数的问题,可我检查了好几遍,没有问题啊。
离线zhangjifei
只看该作者 3楼 发表于: 2009-04-02
大侠们,帮忙看一下啊
离线zhangjifei
只看该作者 2楼 发表于: 2009-04-01
还是不行啊
离线浪漫天使
只看该作者 1楼 发表于: 2009-04-01
txtMsgContent->insertLine(BoardRecvbuf);
改成
txtMsgContent->insertLine( QString::fromLocal8Bit(BoardRecvbuf));
试试
快速回复
限100 字节
 
上一个 下一个