2012-04-05 333 views
1

我一直在尋找一種寫入串行端口的方法。我找到的每一條路都無法實現。我目前用於Recvfrom()函數的程序要求我禁用預編譯的頭文件(我不確定這是否是問題)。所以我基本上要問的是,有沒有辦法通過串口傳輸變量,如果是的話,最簡單的方法是什麼。寫入串行端口(C++/Windows)

+0

我想在這裏可能會有所幫助。 'recvfrom'與套接字一起使用。要從串口讀取(在Windows下),您通常會使用「ReadFile」或類似的東西。你真的在處理一個網絡連接,一個串行端口,或者(可能)像SLIP或PPP那樣通過串口創建套接字連接的東西?此外,標題說寫作,但'recvfrom'用於閱讀。 – 2012-04-05 18:17:24

+0

我推薦使用[Boost.ASIO](http://www.boost.org/libs/asio/),它具有[本地串行端口支持](http://www.boost.org/doc/html/) boost_asio /概要/ serial_ports.html)。 [這裏](http://dl.dropbox.com/u/10282384/asio_presentation_with_story.pdf)是來自BoostCon 2010的一些幻燈片,它能夠很好地概述如何正確使用ASIO。 – ildjarn 2012-04-05 18:19:29

+0

對不起,Recvfrom接收通過網絡發送的虛擬機的另一個變量。 – Linked 2012-04-05 18:29:44

回答

3

預編譯頭文件並不是真正的問題 - 如果您直接在項目中包含其他代碼而不是構建庫,則可能需要將#include stdaxf.h添加到該代碼中,或者只需包含.h和.cpp文件直接存入您的代碼文件。

如果你想談談serial port directly in win32這很容易。最大的問題是處理線程和等待新數據到達 - 但是如果你只是想發送和坐在那裏等待響應,這很容易

0

你可以使用qextserialport庫來與QT進行串行通信。