专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 移动应用

简单的串口有关问题

发布时间:2010-05-30 21:30:38 文章来源:www.iduyao.cn 采编人员:星星草
简单的串口问题
#include "stdafx.h"
#include "windows.h"
#include "tchar.h"

using namespace System;
HANDLE m_port;
DCB m_dcb;
COMMTIMEOUTS m_commtimeouts;
/*
int main(array<System::String ^> ^args)
{
*/
m_port = CreateFile(_T("COM1"), GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
if(m_port == INVALID_HANDLE_VALUE)
{
Console::WriteLine(L"no handle");
return false;
}
SetupComm(m_port, 512, 512);
m_dcb.DCBlength = sizeof(DCB);
GetCommState(m_port, &m_dcb);
m_dcb.BaudRate = 19200;
m_dcb.ByteSize = 8;
m_dcb.StopBits = 1;
m_dcb.fParity = NOPARITY;
SetCommState(m_port, &m_dcb);

m_commtimeouts.ReadIntervalTimeout = MAXWORD;
m_commtimeouts.ReadTotalTimeoutConstant = 10;
m_commtimeouts.ReadTotalTimeoutMultiplier = 10;
m_commtimeouts.WriteTotalTimeoutConstant = 50;
m_commtimeouts.WriteTotalTimeoutMultiplier= 100;

SetCommTimeouts(m_port, &m_commtimeouts);

DWORD dw;
TCHAR* ch = L"789";
// char* ch = "789";
PurgeComm(m_port,PURGE_RXCLEAR|PURGE_TXCLEAR);
WriteFile(m_port, ch, /*strlen(ch)*/wcslen(ch)*sizeof(TCHAR), &dw, 0);
  return 0;
/*
}
*/
上述代码在pc上向wince发数据显示正常
但是从wince里向pc上发数据显示乱码
请教原因。
补充:已知pc串口助手和wince串口助手已经通讯过而且正常工作。


------解决方案--------------------
听说wince上只支持unicode,不知道_T,L这些宏混用是否有问题。

------解决方案--------------------
用ASCII试一试,以判定是否是编码的问题
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: