欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

简单的串口有关问题

更新时间: 2014-01-05 02:52:08 责任编辑: Author_N1

 

简单的串口问题
#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试一试,以判定是否是编码的问题
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:52:08
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/15507/
本文WWW.DOC100.NET DOC100.NET版权所有。