将串行端口数据数据传递到C ++中的缓冲区/变量中

时间:2013-03-21 06:21:21

标签: c++ windows serial-port

我从3个传感器的串口输入数据,格式为

sensor0,sensor1,sensor2

我使用这个程序:

 #include <iostream>
 #include <string>
 #include <sstream>
 #include <Windows.h>
 #include "SerialClass.h"

 char buffer[25];
 using namespace std;

 int i;
 int main()
   {
  Serial oSerial("COM8:");

  oSerial.WriteData("1",1);
       Sleep(100);
       oSerial.ReadData(buffer,25);
string str = buffer;
string word;
stringstream stream(str);

while( getline(stream, word, ',') ) 
    cout <<word << "\n";



Sleep (10000);
   }

结果是:

 sensor0
 sensor1
 sensor2

我希望数据的结果在缓冲区/变量中,因此结果看起来像

y1=sensor0
y2=sensor1
y3=sensor2

如何更改代码,结果就是这样。

1 个答案:

答案 0 :(得分:0)

在代码片段中:

int count = 1;
while( getline(stream, word, ',') ) 
{
   cout<<"y"<<count<<"="<<word<< "\n";
   count++;
}