小编tve*_*lke的帖子

boost asio serial_port_service和serial_port有什么区别

我要为Windows和Linux(包括esp)实现(希望)健壮的异步串行rs232数据传输(通过USB)。那个很好的嵌入式系统叫做beagle bone black。

最后,我只想(兼容)说出具有鲁棒的截止时间超时,cancel()reset()等的rs232,以免在例如tx或rx线路意外断开连接时崩溃/挂起。可以肯定的是,我可以简单地复制/粘贴/采用现有示例。但我也想变得更开明;-)

我决定使用boost:asio :: serial_port。现在,在阅读文档时,我对这两个类感到困惑(其中三个与typedef serial_port相对):

serial_port_service-串行端口的默认服务实现。

class serial_port_service : public io_service::service
Run Code Online (Sandbox Code Playgroud)

basic_serial_port-提供串行端口功能。

template< typename SerialPortService = serial_port_service>
class basic_serial_port :
  public basic_io_object< SerialPortService >,
  public serial_port_base
Run Code Online (Sandbox Code Playgroud)

我知道,我非常高兴,因此我需要boost::asio::io_service构造boost::asio::serial_portserial_port_service。我想我已经了解asio如何完成这项工作的基本方法,例如在本示例中所说的。

OK serial_port_service源自io_service,其ctor接受一个io_service,并且其接口还提供的那些memberfuncs basic_serial_port

对我来说,这似乎是同时实现了basic_serial_port的io_service-拥有这两个类的原因是什么?什么时候使用另一个?不确定可能的用例,以及这种serial_porttypedef。也许(很明显)我想念什么-有人可以给我更多的光吗?

c++ serial-port boost-asio

4
推荐指数
1
解决办法
1008
查看次数

如何找出给定/安装的 Boost 标头的版本?

查看包含 Boost 标头的文件夹,我想找出 Boost 的哪个版本。

图书馆在其内部或名称中嵌入了此类信息。那太棒了。但我想知道如何使用 Boost 的仅标头文件夹找到它?使用它时,我应该求助于哪个 Boost 文档?

作为最后的手段,我可​​以查看文件系统上文件的创建日期,并猜测它们不能成为任何后续 Boost 版本的一部分。噗。有人可以帮忙吗?

(不,我不会选择“只是替换它并将其更新到最新/已知版本”。)

c++ boost

3
推荐指数
1
解决办法
153
查看次数

标签 统计

c++ ×2

boost ×1

boost-asio ×1

serial-port ×1