2012-07-19 25 views
0

我想写入串口设备。从设备读取每次写入之后。如果设备没有响应,我希望读取操作超时。用串口读超时使用boost

我发现了一个相当优雅的解决方案here on SO。但是,在我的应用程序中,端口和io_service是成员变量,但是当我尝试使用io_service成员安装deadline_timer时,我得到访问冲突。

回答

0

使用成员变量io_service创建deadline_timer应该没有问题。

如果deadline_timer是与io_service相同的类中的成员,那么必须确保deadline_timer在io_service之后声明,以便在构建deadline_timer时构建io_service。

+0

按照正确顺序构建的确解决了这个问题,但是当使用bind()调用async_read()时发生下一次访问冲突 – Simon 2012-07-19 09:53:21

+0

由于io_service不是第一个成员变量而导致第二次访问冲突。 – Simon 2012-07-19 12:39:58