我设法通过 RS-232 从网络获取 PC 的代码到机器通信。我在 VS2010 中使用 Win32 控制台应用程序。我想运行它并查看结果。但是我有一些我无法纠正的错误。
这是代码:
// HTHH.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "windows.h"
HANDLE hSerial;
int _tmain(int argc, _TCHAR* argv[])
{
hSerial = CreateFile("COM4",
GENERIC_READ | GENERIC_WRITE,
0,
0,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
if (hSerial == INVALID_HANDLE_VALUE)
{
if(GetLastError()==ERROR_FILE_NOT_FOUND)
{
}
}
DCB dcbSerialParams = {0};
dcbSerial.DCBlength=sizeof(dcbSerialParams);
if (!GetCommState(hSerial, &dcbSerialParams))
{
}
dcbSerialParams.BaudRate=CBR_9600;
dcbSerialParams.ByteSize=8;
dcbSerialParams.StopBits=ONESTOPBIT;
dcbSerialParams.Parity=NOPARITY;
if(!SetCommState(hSerial, &dcbSerialParam))
{
}
COMMTIMEOUTS timeouts={0};
timeouts.ReadIntervalTimeout=50;
timeouts.ReadTotalTimeoutConstant=50;
timeouts.ReadTotalTimeoutMultiplier=10;
timeouts.WriteTotalTimeoutConstant=50;
timeouts.WriteTotalTimeoutMultiplier=10;
if(!SetCommTimeouts(hSerial, &timeouts))
{
}
char szbuff[n+1] = {0};
DWORD dwBytesRead = 0;
if(!ReadFile(hSerial, szbuff, n, &dwBytesRead, NULL))
{
CloseHandle(hSerial);
return 0;
}
错误如下:--
1>c:\users\singanathan\documents\visual studio 2010\projects\hthh\hthh\hthh.cpp(17):错误 C2664:“CreateFileW”:无法将参数 1 从“const char [5]”转换为“LPCWSTR” '
1> 指向的类型不相关;转换需要 reinterpret_cast、C-style cast 或 function-style cast
1>c:\users\singanathan\documents\visual studio 2010\projects\hthh\hthh\hthh.cpp(28):错误 C2065:“dcbSerial”:未声明的标识符
1>c:\users\singanathan\documents\visual studio 2010\projects\hthh\hthh\hthh.cpp(28): 错误 C2228: '.DCBlength' 的左边必须有类/结构/联合
1> 类型是''未知类型''
1>c:\users\singanathan\documents\visual studio 2010\projects\hthh\hthh\hthh.cpp(38):错误 C2065:“dcbSerialParam”:未声明的标识符
1>c:\users\singanathan\documents\visual studio 2010\projects\hthh\hthh\hthh.cpp(53):错误 C2065:'n':未声明的标识符
1>c:\users\singanathan\documents\visual studio 2010\projects\hthh\hthh\hthh.cpp(56):错误 C2065:'n':未声明的标识符
1>c:\users\singanathan\documents\visual studio 2010\projects\hthh\hthh\hthh.cpp(64):致命错误 C1075:在 'c:\users\ 的左大括号 '{' 之前找到文件结尾singanathan\documents\visual studio 2010\projects\hthh\hthh\hthh.cpp(10)' 匹配 ========== 构建:0 成功,1 失败,0 最新,0 跳过==========
对不起,它很长。感谢您的建议。
谢谢