【问题标题】:boost asio arduino error: boost::wrapexcept<boost::system::system_error>boost asio arduino 错误:boost::wrapexcept<boost::system::system_error>
【发布时间】:2021-03-05 05:04:27
【问题描述】:

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

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,多字节集,没设置还是不行。

【问题讨论】:

  • Windows 桌面应用程序和控制台应用程序之间没有区别,只是系统会在启动时为控制台应用程序分配一个控制台。要找出根本原因,请将调用包装在 C++ 异常处理程序中以获取错误代码。

标签: winapi boost arduino boost-asio


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    • 1970-01-01
    相关资源
    最近更新 更多