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

时间:2011-05-06 12:23:16

标签: c++ serial-port compiler-errors

我正在尝试将LED连接到串行端口以点亮。我已经按照一步一步的教程进行了操作here。我已完全按照说明进行操作但无法获取编译代码。从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'unclaclared(首先使用此功能)”。我正在使用Dev-C ++。

基本上我所要做的就是获得一个闪烁LED指示灯的命令,我可以把它放到我的另一个程序中(一个眼动追踪装置 - 想法是当你的眼睛是闪光时让LED闪烁)看着它。)

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:2)

dcbSerial.DCBlength=sizeof(dcbSerialParams);

应该是:

dcbSerialParams.DCBlength=sizeof(dcbSerialParams);

实际上,您将不得不花费更多的精力来阅读和理解编译器错误消息 - 这个消息很清楚。

答案 1 :(得分:0)

dcbSerial替换为dcbSerialParams

答案 2 :(得分:0)

您已声明名称为dcbSerialParams的变量,但将其称为dcbSerial

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