C ++ - управление последовательным портом - код не будет компилироваться - PullRequest
3 голосов
/ 06 мая 2011

Я пытаюсь подключить светодиод к последовательному порту, чтобы он загорелся. Я следовал пошаговой инструкции, которую можно найти здесь . Я точно следовал инструкциям, но не могу получить код для компиляции. Из руководства в формате PDF, это вторая часть, которая не компилируется, и я воспроизвожу здесь:

//<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" undeclared (сначала используйте эту функцию) ". Я использую Dev-C ++.

По сути, все, что я пытаюсь сделать, это получить команду, которая включает и выключает светодиод, который я могу вставить в другую программу, которая у меня есть (устройство слежения за глазами - идея состоит в том, чтобы заставить светодиод мигать, когда ваши глаза глядя на это).

Любая помощь очень ценится.

Ответы [ 3 ]

2 голосов
/ 06 мая 2011
dcbSerial.DCBlength=sizeof(dcbSerialParams);

должно быть:

dcbSerialParams.DCBlength=sizeof(dcbSerialParams);

Действительно, вам придется приложить немного больше усилий к чтению и пониманию сообщений об ошибках компилятора - это было примерно так же ясно, как и получается.1005 *

0 голосов
/ 06 мая 2011

Вы объявили переменную с именем dcbSerialParams, но называете ее dcbSerial

DCB dcbSerialParams = {0};
dcbSerial.DCBlength=sizeof(dcbSerialParams);
0 голосов
/ 06 мая 2011

Заменить dcbSerial на dcbSerialParams.

...