利用Java實現串口全雙工系統通訊

來源:互聯網
上載者:User

一個嵌入式系統通常需要通過串口與其主控系統進行全雙工系統通訊,譬如一個流水線控制系統需要不斷的接受從主控系統發送來的查詢和控制資訊,並將執行結果或查詢結果發送回主控系統。本文介紹了一個簡單的通過串口實現全雙工系統通訊的Java類庫,該類庫大大的簡化了對串口進行操作的過程。

本類庫主要包括:SerialBean.java (與其他應用程式的介面), SerialBuffer.java(用來儲存從串口所接收資料的緩衝區), ReadSerial.java (從串口讀取資料的程式)。另外本類庫還提供了一個常式SerialExample.java 作為示範。在下面的內容中將逐一對這幾個部分進行詳細介紹。

1.SerialBean

SerialBean是本類庫與其他應用程式的介面。該類庫中定義了SerialBean的構造方法以及初始化串口,從串口讀取資料,往串口寫入資料以及關閉串口的函數。具體介紹如下:

public SerialBean(int PortID)

本函數構造一個指向特定串口的SerialBean,該串口由參數PortID所指定。PortID = 1 表示COM1,PortID = 2 表示COM2,由此類推。

public int Initialize()

本函數初始化所指定的串口並返回初始化結果。如果初始化成功返回1,否則返回-1。初始化的結果是該串口被SerialBean獨佔性使用,其參數被設定為9600, N, 8, 1。如果串口被成功初始化,則開啟一個進程讀取從串口傳入的資料並將其儲存在緩衝區中。

public String ReadPort(int Length)

本函數從串口(緩衝區)中讀取指定長度的一個字串。參數Length指定所返回字串的長度。

public void WritePort(String Msg)

本函數向串口發送一個字串。參數Msg是需要發送的字串。

public void ClosePort()

本函數停止串口檢測進程並關閉串口。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.