我正在试图弄清楚Boost :: asio是如何工作的。我在看这个:http://www.college-code.com/blog/wp-content/uploads/2008/11/boost_serial_port_demo.cpp。
我使用连接到Arduino的代码来测试它(我同步了波特率)。它通过cin / cin.read()输入数据时工作正常,但是如果你将它改为[int input = some integer]而不是从键盘读取数据,Arduino就不再能获得正确的数据了。我也试过从一个文件中读取它,使用stringstream,并通过static_casting一个char,但没有一个工作。我无法弄清楚为什么int通过cin而不是任何其他方法分配时会有所不同。
我希望在我正在编写的程序中使用此代码,但我无法从键盘上写入数据。任何人都可以向我解释这个吗?
答案 0 :(得分:0)
@ MvG。这是一个时间问题。我第一次运行它时,我使用了Sleep(1000)。我只是在write()函数之前使用断点尝试它,然后一次向前走1行,并且它正确地发送了数据。所以我使用Sleep(10000),它有效!