我正在寫一個C++程序來讀取串口(在我的情況下是COM6)。打開COM端口。我總是發現在互聯網這個代碼:C++用CreateFile從串口讀取
HANDLE serialHandle;
serialHandle = CreateFile(L"COM6", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
我的問題是,我收到以下錯誤:
- 「拉手」:標識符找不到
- 「的CreateFile」:標識符找不到
- 'GENERIC_READ':未聲明的標識符
- 'INVALID_HANDLE_VALUE':未聲明的標識符
- ...
我的代碼:
#include <windows.h>
#include "stdafx.h"
#include <iostream>
#include <string>
#include <tchar.h>
#include <stdio.h>
#include <strsafe.h>
using namespace std;
int main()
{
/*int comPortNmr = 6, speed = 115200;
cout << "Serial Line: > ";
cin >> comPortNmr;
cout << endl;
cout << "Speed: > ";
cin >> speed;
cout << endl; */
HANDLE serialHandle;
// Open serial port
serialHandle = CreateFile(L"COM6", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if (serialHandle == INVALID_HANDLE_VALUE)
{
cout << "Error." << endl;
}
else
{
cout << "Opend." << endl;
}
return 0;
}
我在做什麼錯?
無法重現。你使用什麼IDE /編譯器?你有沒有安裝適當的Windows SDK? – Ron
我正在使用默認的Visual Studio 2017 IDE /編譯器。我沒有改變任何設置。 – User987123
@ User987123如果您在不調整設置的情況下安裝VS'17,Windows SDK將不會安裝。請調整您的設置並重試。 – Blacktempel