javausb,javausb介面程序設計技術條件和要求

本文目錄一覽:

java如何實現usb口插拔事件的監測,最好有源代碼

java 要訪問 usb 設備,通常要自己寫c/c++代碼,然後再用 java 訪問這些組件,以達到控制usb設備的目的。但現在有一個開源組件 libusb 幫我們做好了訪問usb設備的封裝(包括windows、linux等平台)。我們用 java 訪問usb 設備時,可以通過訪問 libusb 組件提供的介面即可。要了解這個組件的 java 部分的 Demo、API等,可以訪問這裡:

使用這個組件最重要的意義在於:

首先,你不再需要在 win、linux 等平台上寫 c/c++ 等 native 組件,甚至,你不需要知道 jni 怎麼寫;

其次,使用這個組件,你可以訪問所有的 usb 設備,當然,前提條件是你必須知道 usb 設備的相關指令(我當前就用這個組件,直接發usb能接受的命令,去控制我的指紋儀來工作)

最後,如果你的 usb 設備沒有驅動程序,比如,你的 usb 設備是自己研製出來的,還沒來得及為各種平台寫驅動程序,你可以用這個組件提供驅動程序

從: 下載 libusb-win32-bin-1.2.2.0.zip

從 下載 ch.ntb.usb-0.5.9.jar 和 LibusbJava_dll_0.2.4.0.zip

安裝 libusb-win32:

1)、解壓 libusb-win32-bin-1.2.2.0.zip;

2)、把目錄:\bin\x86 下的 libusb0_x86.dll 複製到 windows/system32 目錄下,並改名為:libusb0.dll;

3)、把目錄:\bin\x86 下的 libusb0.sys 複製到 windows/system32/drivers 目錄下

4)、運行 install-filter-win.exe ,從中選擇安裝你要訪問的 usb 設備

5)、運行 testlibusb-win.exe,有正確的提示信息。如下圖:

注意:如果你運行第4)步時,出現無法安裝libusb0服務、無法找到文件等錯誤,或者運行第5)步時,界面中「Driver version:」後面的版本號是,-1.-1 -1 …這些情況,說明你的安裝不正常。原因可能是因為你的usb設備是新安裝的,且你沒有重啟計算機。你重啟一下計算機,再進行上述步驟,應該就可以了。

把 LibusbJava.dll 複製到 windows/system32 目錄下

這時,到達 ch.ntb.usb-0.5.9.jar 所在的目錄,運行: java -jar ch.ntb.usb-0.5.9.jar,這樣就會出來一個java swing做的窗口,如下圖。

當右鍵點擊倒數第二級的節點的時候,又會彈出新的窗口,在這個彈出窗口裡,你可以直接發送一些16進位的代碼給 usb 設備。但值得注意的是,這個窗口的代碼寫得有問題,其對16進位的代碼轉換為真正要發送的代碼時,轉換的是錯誤的代碼。這個錯誤可以自己下載源碼,更正即可。錯誤的類及方法是:

TestApp.java 中的方法:byte[] parseByteArray(String s);更正的代碼可以參考如下代碼:

Java代碼

重新編譯後,替換掉這個類,即可。

byte[] parseByteArray(String s) {

String[] hexs = s.split(” “);

byte[] bytes = new byte[hexs.length];

if(hexs.length 0){

int i = 0;

for(String hex : hexs){

String s1 = hex.substring(2);

bytes[i] = (byte)(Integer.parseInt(s1, 16));

i++;

}

}

return bytes;

}

java怎麼檢測USB的程序

檢測一個JAVA程序的運行時間方法:

long startTime = System.currentTimeMillis();//獲取當前時間

//doSomeThing(); //要運行的java程序

long endTime = System.currentTimeMillis();

System.out.println(“程序運行時間:”+(endTime-startTime)+”ms”);

Java怎麼通過USB傳輸數據

數據通過USB實時傳輸到PC

== 這段肯定用到mfc

java 端獲取數據,要麼c++那邊開發了一個可用的dll,要麼需要自己寫一個與cpp對應的java類來實時調用mfc

Java 如何通過 USB 讀取對應的內容?

Java有個Common包,可以與串口活著並口通信,做畢業設計的時候用過,似乎那時候還沒有USB的通用包,不過如果了解USB的協議的話,就可以處理usb數據幀了

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/285470.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-22 15:44
下一篇 2024-12-22 15:44

相關推薦

  • Python熱重載技術

    Python熱重載技術是現代編程的關鍵功能之一。它可以幫助我們在程序運行的過程中,更新代碼而無需重新啟動程序。本文將會全方位地介紹Python熱重載的實現方法和應用場景。 一、實現…

    編程 2025-04-29
  • 條件運算符(?:)是什麼意思?

    條件運算符(?:)是JavaScript中的一種特殊的運算符,也是許多編程語言中相似語法的一部分。它可以允許我們在一個簡單、一行的語句中完成條件判斷和賦值操作,非常方便。 1.語法…

    編程 2025-04-29
  • Java 監控介面返回信息報錯信息怎麼處理

    本文將從多個方面對 Java 監控介面返回信息報錯信息的處理方法進行詳細的闡述,其中包括如何捕獲異常、如何使用日誌輸出錯誤信息、以及如何通過異常處理機制解決報錯問題等等。以下是詳細…

    編程 2025-04-29
  • Django ORM如何實現或的條件查詢

    在我們使用Django進行資料庫操作的時候,查詢條件往往不止一個,一個好的查詢語句需要考慮我們的查詢要求以及業務場景。在實際工作中,我們經常需要使用或的條件進行查詢,本文將詳細介紹…

    編程 2025-04-29
  • Python包絡平滑技術解析

    本文將從以下幾個方面對Python包絡平滑技術進行詳細的闡述,包括: 什麼是包絡平滑技術? Python中使用包絡平滑技術的方法有哪些? 包絡平滑技術在具體應用中的實際效果 一、包…

    編程 2025-04-29
  • 微信小程序重構H5技術方案設計 Github

    本文旨在探討如何在微信小程序中重構H5技術方案,以及如何結合Github進行代碼存儲和版本管理。我們將從以下幾個方面進行討論: 一、小程序與H5技術對比 微信小程序與H5技術都可以…

    編程 2025-04-28
  • parent.$.dialog是什麼技術的語法

    parent.$.dialog是一種基於jQuery插件的彈出式對話框技術,它提供了一個方便快捷的方式來創建各種類型和樣式的彈出式對話框。它是對於在網站開發中常見的彈窗、提示框等交…

    編程 2025-04-28
  • Python計算機語言程序設計用法介紹

    Python是一種高級編程語言,其設計目的是讓程序員能夠在編寫代碼時更加關注演算法的設計,而不必過多地考慮語言細節。Python被廣泛應用於網站開發、數據科學、人工智慧、機器學習等各…

    編程 2025-04-28
  • 使用面向對象程序設計方法改寫猜數字遊戲Python程序

    本文將從以下多個方面對猜數字遊戲程序功能要求,使用面向對象程序設計方法改寫該程序Python做詳細的闡述。 一、遊戲規則 1、遊戲開始時,程序隨機生成一個 1 到 100 之間的整…

    編程 2025-04-28
  • HTML sprite技術

    本文將從多個方面闡述HTML sprite技術,包含基本概念、使用示例、實現原理等。 一、基本概念 1、什麼是HTML sprite? HTML sprite,也稱CSS spri…

    編程 2025-04-28

發表回復

登錄後才能評論