[英]How do I get Java to use the serial port in Linux?
我們使用通過串行端口管理pinpad的java應用程序。 這與Sun Comm.jar,提供的dll和屬性文件在Windows上完美配合。
現在我們正在嘗試在Linux上使用這個解決方案(實際上它確實在該領域的各種其他版本的Linux上運行) - 使用Ubuntu服務器模式。
經過多次嘗試 - 血液,汗水和幾乎眼淚,我們有這樣的場景:
Java版本1.4.2_17 Linux - Ubuntu Comm libs - 由sun提供的Comm3,其中指定了默認驅動程序
外部comm測試顯示了comm端口:/ dev / ttyS0和/ dev / ttyS1但java應用程序說無法打開端口/ dev / ttyS1
(使用RXRT文件產生無效的端口錯誤)
有沒有人能夠在linux上使用java 1.4.2進行串口通信,並找到了我可以在我的場景中應用的解決方案?
非常感激
菲爾
確保您使用具有訪問串行端口權限的用戶。 某些發行版將串行端口放在uucp組中,因此請確保該用戶屬於該組。
我做完這件事已經有一段時間了。 我記得你不能只將/ dev / ttyS0作為文件和I / O打開。
我記得也和Sun IO罐子有同樣的問題。
我記得解決的解決方案是在C中創建一個小的命令行程序,它將stdin回顯到串口和串口到stdout。 然后,我從我的java進程啟動了這個程序。 我沒有代碼,但網上有很多關於寫入linux串口的c程序的例子。
我們幾年來一直在Windows和Linux上使用SerialIO庫進行Java串行通信,效果很好(不,我不適合他們:-)):
http://serialio.com/products/serialport/serialport.php
這些庫不會自動檢測Linux上的可用串行端口 - 您必須手動配置它們。
我們沒有太大變化,所使用的庫中沒有任何變化。 但刪除串口對象上使用EventListener修復了問題。
這實際上允許我們的代碼在linux上運行(jre1.4.2,slackware和Suns Comm3驅動程序),這在Windows上不是問題 - 奇怪。
菲爾
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.