4

Boost.Asio 使用 Proactor 来出色地使用单线程处理 I/O。我将它与插座一起使用,我喜欢它。我看到有一种方法可以将 Boost.Asio(和底层 Proactor)的 io_service 与串行端口(Windows 上的 COMX 设备和 Linux 上的 /dev/ttyXXX)一起使用,而不是使用套接字。事实上,我认为 Boost.Asio 旨在用于任何类型的 I/O,包括文件句柄等。

我想知道我是否可以直接使用它,开箱即用,用于任何串行设备,如SPII2C。这类串行设备在 Linux 下看起来像 /dev/spi。

例如,我可以这样使用它:

boost::asio::io_service my_io_service;
boost::asio::serial_port my_spi_serial_port("/dev/spi0", my_io_service);

并且自动地,它就像一个普通的串口(即RS232)一样工作?

或者,如果 Boost.Asio 不直接支持 SPI,那么后者是否提供了一种轻松合并对任何其他设备类型的支持的方法,而无需修改 Boost.Asio 的核心代码?

4

0 回答 0