簡體   English   中英

如何在Visual Studio C ++中實現Windows和linux之間可移植的串行端口編程?

[英]How to do serial port programming in visual studio C++ that portable between Windows & linux?

我正在編寫一個需要訪問串行端口的測試程序。 我現在在Visual Studio 2012中進行操作,但是我想稍后再移植到Linux。 (用於在我的Pandaboard中使用)
您能為我提供一種訪問Win和Linux之間幾乎相同接口的串行端口的方法嗎?
我曾經在Labview中做過,但現在我想轉向C ++
非常感謝你的幫助!

Boost.ASIO的文檔記錄齊全,測試良好,經過數千人的同行審查,並全面支持跨平台方式的串行端口通信。 具體的文檔可以在這里找到。

話雖這么說,但它確實在現代C ++中具有中等技能,因此,如果您是該語言的新手,則學習曲線可能會有些陡峭。

串行接口沒有什么...您應該能夠在其下面包裝所有實現細節。

class ISerialPort
{
public:
   void open(const std::string &serialPortName) = 0;
   void close() = 0;

   void write(const vector<char> &data) = 0;
   vector<char> read(size_t bytesToRead) = 0;
}

盡管它不是一個“接口”,但它是兩個不同平台將要實現的通用標頭。

編輯:通過打開設備節點可以訪問Linux下的串行端口。 例如/ dev / ttyS0(串行端口0)。 在Windows中,您正在做相同的事情,但是不是打開設備節點,而是打開文件(COM端口)。 如COM1。

在Linux中,您將深入研究與平台有關的問題,例如打開設備節點。 在Linux中,它將打開文件(COM端口)。

Google c ++ Windows / Linux串行端口,然后返回一個更具體的問題。 您剛剛詢問了一個接口;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM