C++ - 控制串行端口 - 代码无法编译

C++ - controlling a serial port - code won't compile

本文关键字:编译 串行端口 控制 C++ 代码      更新时间:2023-10-16

我正试图将LED连接到串行端口以点亮。我遵循了一个循序渐进的教程,可以在这里找到。我完全按照指示,但不能得到代码编译。从PDF指南来看,这是第2部分,没有编译,我在这里复制:

//<Set serial port parameters>
  DCB dcbSerialParams = {0};
  dcbSerial.DCBlength=sizeof(dcbSerialParams);
  if (!GetCommState(hSerial, &dcbSerialParams))
  {
  //error getting state
  }
  dcbSerialParams.BaudRate=CBR_19200;
  dcbSerialParams.ByteSize=8;
  dcbSerialParams.StopBits=ONESTOPBIT;
  dcbSerialParams.Parity=NOPARITY;
  if(!SetCommState(hSerial, &dcbSerialParams))
  {
  //error setting serial port state
  }
//</Set serial port parameters>

我已经包含在指定的代码中,但我收到错误消息"' dcbSerial'未声明(首先使用此函数)"。我正在使用dev - c++。

基本上,我所要做的就是得到一个命令,让LED闪烁和关闭,我可以把它放入我的另一个程序(一个眼动追踪设备-这个想法是让LED闪烁当你的眼睛看着它)。

任何帮助都非常感谢。

dcbSerial.DCBlength=sizeof(dcbSerialParams);
应:

dcbSerialParams.DCBlength=sizeof(dcbSerialParams);

实际上,您必须花更多的精力来阅读和理解编译器错误消息——这条消息已经非常清楚了。

dcbSerial替换为dcbSerialParams

您声明了一个名为dcbSerialParams的变量,但将其称为dcbSerial

DCB dcbSerialParams = {0};
dcbSerial.DCBlength=sizeof(dcbSerialParams);