当前位置: 首页>>代码示例>>C++>>正文


C++ SerialStream类代码示例

本文整理汇总了C++中SerialStream的典型用法代码示例。如果您正苦于以下问题:C++ SerialStream类的具体用法?C++ SerialStream怎么用?C++ SerialStream使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了SerialStream类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Transmit

void Broadcast::Transmit()
{
    SerialStream mySerial;
    mySerial.Open("/dev/ttyUSB0");
    mySerial.SetBaudRate(SerialStreamBuf::BAUD_9600);
    mySerial << Data;
}
开发者ID:CountMurphy,项目名称:TempMon,代码行数:7,代码来源:Broadcast.cpp

示例2: ThreadFunc

DWORD WINAPI ThreadFunc(LPVOID lpParam)
{
    SerialStream stream;
    if (!stream.open(4))
    {
        std::cout << "Couldn't open COM" << std::endl;
        return -1;
    }

    string output;

    while (true)
    {
        stream >> output;

        int ind1, ind2, ind3;
        stringstream ss;
        ind1 = output.find("#");
        ind2 = output.find(",", ind1 + 1);
        ind3 = output.find("#", ind2+1);

        float desired, actual;
        ss << output.substr(ind1+1, ind2-ind1-1);
        ss >> desired;
        ss << output.substr(ind2 + 1, ind3 - ind2 - 1);
        ss >> actual;

        desiredData[desiredStart] = desired;
        actualData[actualStart] = actual;

        desiredStart = (desiredStart + 1) % 1000;
        actualStart = (actualStart + 1) % 1000;
    }
}
开发者ID:chriswald,项目名称:Radio,代码行数:34,代码来源:SerialGraph.cpp

示例3: main

int main(int argc, char** argv)
{

    /*The mySerialino must be setup to use the same baud rate*/
    cout << "opening port" << endl;
    mySerial.Open(PORT);
    mySerial.SetBaudRate(SerialStreamBuf::BAUD_9600);
    mySerial.SetCharSize(SerialStreamBuf::CHAR_SIZE_8);
    cout << "port open" << endl;
    do
    {
        cout << "Press a command key, use q to quit: ";
        char val = cin.get();
        cout << "Key pressed was " << val << endl;
        cin.ignore();
        if (val == 'q') break;
        stringstream ss;
        string cmd;
        ss << val;
        ss >> cmd;
        cmd.append("#");
        sendSerial(cmd);
        
        if (val == 'b') 
        {
            cout << "value received = "  << getSerial() << endl;
        }            
     } while(1);   
}
开发者ID:9thSenseRobotics,项目名称:telo_ubuntu,代码行数:29,代码来源:serial_stream_works_well.cpp

示例4: read

// This function returns queued data on port, returns empty string if there is no data
// does not block
string read(SerialStream& serial_port)
{
    string result;
    while( serial_port.rdbuf()->in_avail() )
    {
        char next_byte;
        serial_port.get(next_byte);
        result += next_byte;
    }
    return result;
}
开发者ID:nicrip,项目名称:misc,代码行数:13,代码来源:pololu.cpp

示例5: main

int main(int argc, char** argv)
{
    cout << "opening port" << endl;
    mySerial.Open(PORT);
    mySerial.SetBaudRate(SerialStreamBuf::BAUD_9600);
    mySerial.SetCharSize(SerialStreamBuf::CHAR_SIZE_8);
    cout << "port open" << endl;
    
    ros::init(argc, argv, "serialCommands");
    ros::NodeHandle nh_;
    ros::Subscriber arduino_sub = nh_.subscribe("arduino_commands", 60, arduinoCallback);
    arduino_pub = nh_.advertise<std_msgs::String>("arduino_sensors", 5);
    ros::spin();
    mySerial.Close();
}
开发者ID:9thSenseRobotics,项目名称:telo_ubuntu,代码行数:15,代码来源:serial_stream_sink.cpp

示例6: readBlocking

// This function blocks for upto timeout usec and waits for data
// to be available on the port.
std::string readBlocking(SerialStream& serial_port, int timeout)
{
    while( serial_port.rdbuf()->in_avail() == 0 && timeout > 0 )
    {
        timeout -= 100;
        usleep(100);
    }
    if(timeout < 0)
        return std::string();
    return read(serial_port);
}
开发者ID:nicrip,项目名称:misc,代码行数:13,代码来源:pololu.cpp

示例7: main

int main(int argc, char **argv)
{
  // initialize global variables
  prevtime = std::chrono::system_clock::now();
  std::cerr << "koko1" << std::endl;
  for(int k=0;k<7;++k)
    data.push_back(0);
  
  ardu.Open(PORT);
  std::cerr << "koko2" << std::endl;
  ardu.SetBaudRate(SerialStreamBuf::BAUD_38400);
  ardu.SetCharSize(SerialStreamBuf::CHAR_SIZE_8);
  std::cerr << "koko3" << std::endl;

  glutInit(&argc, argv);
  std::cerr << "koko4" << std::endl;
  InitGL();
  std::cerr << "koko5" << std::endl;
  glutMainLoop();

  return 0;
}
开发者ID:Hybryd,项目名称:HyIMUViewer,代码行数:22,代码来源:main.cpp

示例8: Serial_Open_Port

void Serial_Open_Port(string comPort)
{
        serial_port.Open( comPort ) ;
        if(! serial_port.good())
	{
		std::cerr<<"Error: could not open serial port"<<std::endl;
		exit(1);
	}
        serial_port.SetBaudRate( SerialStreamBuf::BAUD_9600) ;
        serial_port.SetCharSize( SerialStreamBuf::CHAR_SIZE_8 ) ;
        serial_port.SetNumOfStopBits(1) ;
        serial_port.SetParity( SerialStreamBuf::PARITY_EVEN ) ;
        serial_port.SetFlowControl( SerialStreamBuf::FLOW_CONTROL_NONE ) ;
}
开发者ID:sojoe02,项目名称:RSD,代码行数:14,代码来源:serial_fct.cpp

示例9: serialport_open

void serialport_open(const char* sp) {
    /*The arduino must be setup to use the same baud rate*/
    fprintf(stdout, "Setting Params:\n");
    ardu.SetBaudRate( SerialStreamBuf::BAUD_115200 ) ;
    ardu.SetCharSize( SerialStreamBuf::CHAR_SIZE_8 ) ;
    ardu.SetNumOfStopBits(1) ;
    ardu.SetParity( SerialStreamBuf::PARITY_ODD ) ;
    ardu.SetFlowControl( SerialStreamBuf::FLOW_CONTROL_HARD ) ;
    ardu.SetVTime(1);
    fprintf(stdout, "Opening:\n");
    ardu.Open( sp ) ;
    fprintf(stdout, "Opened:\n");

}
开发者ID:samzapo,项目名称:ServoController,代码行数:14,代码来源:ServoDriver.cpp

示例10: init_connection

void init_connection(SerialStream& stream)
{

	stream.Open("/dev/ttyUSB0");
	if (stream.IsOpen()){
		cout << "\tStream open" << endl;
	} else {
		cout << "\tCould not open stream" << endl;
		exit(1);
	}

	//Connection Characteristics
	stream.SetBaudRate(SerialStreamBuf::BAUD_9600);
	stream.SetCharSize(SerialStreamBuf::CHAR_SIZE_8);
	stream.SetNumOfStopBits(1);
	stream.SetParity(SerialStreamBuf::PARITY_NONE);
	stream.SetFlowControl(SerialStreamBuf::FLOW_CONTROL_HARD); //??
	stream.SetVMin(1000);

}
开发者ID:cartejac,项目名称:AVR_motor_controlling,代码行数:20,代码来源:serial_int.cpp

示例11: main

int main(int argc,char** argv)
{
	char response[3];

	serial_stream.Open( argv[1] ) ;
	serial_stream.SetBaudRate( SerialStreamBuf::BAUD_115200 ) ;
	serial_stream.SetCharSize( SerialStreamBuf::CHAR_SIZE_8 ) ;
	serial_stream.SetFlowControl( SerialStreamBuf::FLOW_CONTROL_NONE ) ;
	serial_stream.SetParity( SerialStreamBuf::PARITY_NONE ) ;
	serial_stream.SetNumOfStopBits(0) ;
	
	while (1)
	{
		serial_stream<<"ABCD";
		cout<<"waiting response"<<endl;
		serial_stream.read(response,3);
		cout<<response<<endl;
	}
	return 0;
}
开发者ID:thriller91,项目名称:Cansat-SupOp,代码行数:20,代码来源:comm1.cpp

示例12: open

void open()
{
	ardu.Open("/dev/ttyACM0");
	ardu.SetBaudRate(SerialStreamBuf::BAUD_9600);
	ardu.SetCharSize(SerialStreamBuf::CHAR_SIZE_8); 
}
开发者ID:jgillham,项目名称:AwesomeRobot,代码行数:6,代码来源:ardIO.cpp

示例13: write

void write(SerialStream& serial_port, const std::string& data)
{
    serial_port.write(data.c_str(), data.size());
}
开发者ID:nicrip,项目名称:misc,代码行数:4,代码来源:pololu.cpp

示例14: Serial_Close_Port

void Serial_Close_Port(void)
{
        if(serial_port.IsOpen())
	{
                serial_port.Close();
	}
}
开发者ID:sojoe02,项目名称:RSD,代码行数:7,代码来源:serial_fct.cpp

示例15: measureGravitation

void measureGravitation()
{
  double mean[3] = {0,0,0};
  int nbIter = 100;
  
  for(int k=0;k<nbIter;++k)
  {
    std::cerr << k << "/" << nbIter << "\r";
    // read data from IMU
    char c; // character
    std::string s("");
    ardu.get( c ) ;
    while(c != '#'){ardu.get( c );} // do nothing until we read the end of a block
    
    ardu.get( c );
    while(c != '#')
    {
      s += c;
      ardu.get( c );
    }
    splitData(s);
    
    mean[0] += data[4];
    mean[1] += data[5];
    mean[2] += data[6];
    
  }
  for(int j=0;j<3;++j)
    grav[j] = mean[j]/nbIter;
  
  std::cerr << std::endl;
}
开发者ID:Hybryd,项目名称:HyIMUViewer,代码行数:32,代码来源:main.cpp


注:本文中的SerialStream类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。