首页 > 解决方案 > boost asio arduino 错误:boost::wrapexcept

问题描述

我有以下代码行给我一个错误:

boost::asio::serial_port serial(ioservice, "COM3");

错误是:

在 WindowsProject2.exe 中的 0x7602A8B2 处引发异常:Microsoft C++ 异常:内存位置 0x010FE4A8 处的 boost::wrapexceptboost::system::system_error。WindowsProject2.exe 中 0x7602A8B2 处的未处理异常:Microsoft C++ 异常:内存位置 0x010FE4A8 处的 boost::wrapexceptboost::system::system_error。

我正在尝试通过 COM3 端口连接到 arduino。我正在使用 Windows 32 桌面应用程序。该代码适用于 Windows 32 控制台应用程序。所以这是一个win32桌面应用程序错误,我猜它不喜欢“COM3”?我还尝试更改为 unicode、多字节集,并且未设置但仍然无法正常工作。

标签: winapiboostarduinoboost-asio

解决方案


只是猜测,没有权限的错误序列。通过阅读错误很容易找到

try {
    boost::asio::serial_port serial(ioservice, "COM3");
} catch (boost::system::system_error const& se) {
    std::cout << "Error " << se.code().message() << "\n";
}

推荐阅读