• 6257阅读
  • 2回复

[提问]串口打印中文乱码问题 [复制链接]

上一主题 下一主题
离线anthao
 

只看楼主 倒序阅读 楼主  发表于: 2010-03-23
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
//写串口,打印字符
int sendnTTY(TTY_INFO *ptty, unsigned char *pbuf, int size)
{
 int ret, nleft;
 unsigned char *ptmp;
 ret = 0;
 nleft = size;
 ptmp = pbuf;
 while (nleft>0)
 {
  pthread_mutex_lock(&ptty->mt);
  ret = write(ptty->fd, ptmp, nleft);
  pthread_mutex_unlock(&ptty->mt);
  if (ret >0)
  {
   nleft -= ret;
   ptmp += ret;
  }
 }
 return size - nleft;
}

上面是我写串口的一个函数,可是我打印出来的中文都是乱码,英文就没有问题。
调用过程:
QString ptxt = "中华人民共和国!";
unsigned char *pbuf  = (unsigned char*) ptxt.toUtf8().data();
TTY_INFO *ttyInfo;
ttyInfo = readyTTY(0, 9600, 8, 'N', 1);//设置串口参数
int size = sendnTTY(ttyInfo ,pbuf,ptxt.length());

请教各位解决???帮我想想办法,万分感谢!!!
离线baofengyu267
只看该作者 1楼 发表于: 2011-05-18
我也正在被这个问题烦恼着啊
离线qq526665621

只看该作者 2楼 发表于: 2011-05-18
代码分享下 楼主 谢谢了
快速回复
限100 字节
 
上一个 下一个