2011-05-06 54 views
3

我想让连接到串口的LED点亮。我已经按照一步一步的教程,可以找到here。我完全按照方向,但无法获得编译的代码。从PDF指南,这是第2部分不编译,我这里重现:C++ - 控制串口 - 代码不会编译

//<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正在看它)。

非常感谢任何帮助。

回答

0

dcbSerial替换为dcbSerialParams

+0

非常感谢。应该已经注意到了这一点 - 我认为该指南将是完美无瑕的!对此很新颖。 – CaptainProg 2011-05-06 12:51:53

0

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

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

应该是:

dcbSerialParams.DCBlength=sizeof(dcbSerialParams); 

真的,你将不得不把一个位更多的努力去阅读和理解编译器的错误信息 - 这个信息很清楚。