wince串口收发的编码问题

在编写串口收发的嵌入式程序时碰到了一些奇怪的问题,主要是发送的数据乱码,接收的数据为空,但是数据长度并不为零。经过一些来来回回的修改,反反复复的参考别人的代码,最终认为主要是因为wince内部使用的是unicode编码,而PC机端的串口调试助手都是ascii码,两者之间需要转换,即在发送数据之前要先把unicode转换成标准ascii码,收到数据数据后要转换回来,转换方法都是在网上找大神的资料参考的:

unicode转换成标准ascii码:

  CString csStr(_T("输入350个以上的汉字"));
      USES_CONVERSION;
char *pBuf1 = T2A(csStr);

对换为unicode:

char *p = "123456";
CString str = (CString)(CStringA)p;

 

参考资料:

http://www.tc5u.com/mfc/1870767.htm

http://www.myexception.cn/vc-mfc/1228882.html

 

posted @ 2014-11-11 22:37  Code World  阅读(235)  评论(0编辑  收藏  举报