首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过pl2303 conector和serialstream.h/libserial在ubuntu上设置buad速率时出错

通过pl2303 conector和serialstream.h/libserial在ubuntu上设置buad速率时出错
EN

Stack Overflow用户
提问于 2012-10-01 21:24:51
回答 1查看 563关注 0票数 2

我正在Ubuntu上开发一个串行通信应用程序。我使用的是pl2303转换器和libserial

我的问题是我不能设置波特率。在执行下面的源代码后,我得到了错误state=2。

我的源码是:

代码语言:javascript
复制
bool setUpCom()
{
    SerialStream my_serial_stream ;
    my_serial_stream.Open( "/dev/ttyUSB0" ) ;

    if ( ! my_serial_stream.good() )
    {
        printf("\nNo COM Port");
        return false;
    }

    my_serial_stream.SetBaudRate( SerialStreamBuf::BAUD_115200 );   
    my_serial_stream.SetCharSize( SerialStreamBuf::CHAR_SIZE_8 ) ;

   if ( ! my_serial_stream.good() )
   {  
       std::cerr << "Error setting serial port state=2" ;
       return false; 
   }

   my_serial_stream.SetNumOfStopBits(1) ;

   if ( ! my_serial_stream.good() )
   {
       std::cerr << "Error setting serial port state=3" ;
       return false;
   }

   my_serial_stream.SetParity( SerialStreamBuf::PARITY_NONE ) ;

   if ( ! my_serial_stream.good() )
   {
       std::cerr << "Error setting serial port state=4" ;
       return false;
   }

   my_serial_stream.SetBaudRate( SerialStreamBuf::BAUD_115200 );

   if ( ! my_serial_stream.good() )
   {
       std::cerr << "Error setting serial port state =5" ;
       return false;
   }
}
EN

回答 1

Stack Overflow用户

发布于 2012-10-02 21:33:29

您确定调用my_serial_stream.good()是好的吗?

http://libserial.sourceforge.net/doxygen/class_lib_serial_1_1_serial_stream.html中,它没有列出。取而代之的是IsOpen()方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12674205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档