无法在 SetCommState 中创建 DCB

问题描述

我正在用 C++ 编写 GTP-180 收据打印机,但在创建 DCB 时出错

我从这里拿走了代码
http://members.ee.net/brey/Serial.pdf

#include <atlstr.h>
#include <windows.h>
#include <string>
#include <IOSTREAM>
#include <tchar.h>
#include <stdio.h>

using namespace std;

void WriteComPort(CString PortSpecifier,CString data)
{
    HANDLE hSerial;
    DWORD byteswritten;

    hSerial = CreateFile(CString("COM5"),GENERIC_READ | GENERIC_WRITE,OPEN_EXISTING,FILE_ATTRIBUTE_norMAL,0);

    DCB dcbSerialParams = { 0 };
    dcbSerialParams.Baudrate = CBR_110;
    dcbSerialParams.fDtrControl = DTR_CONTROL_ENABLE;
    dcbSerialParams.ByteSize = 8;
    dcbSerialParams.StopBits = OnesTOPBIT;
    dcbSerialParams.Parity = nopARITY;
    SetCommState(hSerial,&dcbSerialParams);
    WriteFile(hSerial,data,1,&byteswritten,NULL);
    CloseHandle(hSerial);
}

int main()
{
    WriteComPort("COM5","\\x1b\\x69");
    return 0;
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)