Используя System.IO.Ports в Windows IoT Core, вы можете обратиться к « SerialWin32 Azure IoT Edge module ».( Примечание: Эти инструкции будут работать на ПК под управлением Windows 10 IoT Enterprise или Windows IoT Core build 17763. В настоящее время поддерживается только архитектура x64 . Arm32 появится в будущем.)
(Не для пограничного модуля IoT Azure) Чтобы получить доступ к последовательному устройству без имени порта (COMx) в Windows IoT Core, вы можете использовать Win32 API CreateFile .Существует шаблон проекта для создания консольного приложения Win32 для Windows IoT Core, с которым вы можете начать.
Здесь я создаю пример, используя идентификатор устройства дляоткройте последовательное устройство и напишите и прочитайте:
#include <windows.h>
#include <iostream>
using namespace std;
int main()
{
DWORD errCode = 0;
LPCWSTR pDeviceId = L"\\\\?\\FTDIBUS#VID_0403+PID_6001+A50285BIA#0000#{86e0d1e0-8089-11d0-9ce4-08003e301f73}";
HANDLE serialDeviceHdl = CreateFile(pDeviceId, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
if (!serialDeviceHdl)
{
errCode = GetLastError();
cout << "Open device failed. Error code: " << errCode << endl;
return 0;
}
DWORD writenSize = 0;
BOOL result = WriteFile(serialDeviceHdl, "hello", 5, &writenSize, NULL);
if (FALSE == result)
{
errCode = GetLastError();
cout << "Write to device failed. Error code: " << errCode << endl;
}
CHAR readBuf[5];
DWORD readSize = 0;
result = ReadFile(serialDeviceHdl, readBuf, 5, &readSize, NULL);
if (FALSE == result)
{
errCode = GetLastError();
cout << "Read from device failed. Error code: " << errCode << endl;
}
}
Идентификатор устройства, который вы можете найти, например, по официальному примеру " SerialUART " - " DeviceInformation.Id ".
Как развернуть и отладить консоль win32 C ++ в Windows IoT Core, вы можете обратиться к здесь .