2010-05-25 22 views
2

我想在嵌入式設備上開發一個USB主機,它將與來自不同供應商的打印機進行通信。供應商特定打印機的驅動程序可以在最終與打印機通信的個人電腦上使用,但我的設備正在促進此通信,並需要執行打印機的基本握手/設置(即,它需要知道打印機何時連接,是需要爲CTRL和DATA傳輸等打開的套接字ID)。所有這些打印機都應該符合IEEE 1284.4標準,但我發現它們中的許多都有點不同。如何爲各個供應商的打印機編寫通用USB主機驅動程序?

我的一個方法是從這些打印機的每一個拿走USB信號的握手信號,並分別寫出不同的代碼段(我知道,這聽起來很可笑!)。有沒有一種通用的方法來做到這一點?有沒有提到這些標準信息的論壇?例如:EPSON爲其控制和數據服務使用'EPSON-CTRL'和'EPSON-DATA',需要提供這些服務以獲取這些服務的套接字標識。我很確定惠普,佳能等也會有自己的服務名稱。根據標準,這應該在IANA中被捕獲,但我沒有看到任何東西。任何幫助,將不勝感激。

感謝和問候, 烏拉斯

回答

0

不,你不能這樣做,因爲HP和EPSON會有所不同,即使他們做同樣的事情落實他們的打印機。您的「通用」驅動程序必須明確說明每種類型的打印機。這就是說,理論上可以在通用驅動程序套件中實現每種驅動程序類型,並確定打印機可用時要使用哪個驅動程序。但是,這似乎有點矯枉過正,因爲您可以在製造商的網站上免費在線獲得驅動程序。

+0

即使我必須明確地做到這一點,獲得這些信息的唯一方法就是通過握手握手來獲取USB信息。 – Ullas 2010-05-25 17:52:53

+0

問題是我無法在我的嵌入式設備中安裝這些驅動程序,這些驅動程序沒有足夠的內存來安裝這些驅動程序。另外我的設備運行在專用RTOS上。 非常感謝您的建議,儘管 – Ullas 2010-05-25 18:15:00

相關問題