0
我在寫一個小應用程序,它使用javax.comm api返回comms端口的枚舉,使用以下語法 CommPortIdentifier.getPortIdentifiers(); 我的問題是如何以編程方式識別我的GPS設備在哪個端口上運行。任何人有任何想法?javax.comm:確定哪個串行端口我的GPS設備正在運行
T.
我在寫一個小應用程序,它使用javax.comm api返回comms端口的枚舉,使用以下語法 CommPortIdentifier.getPortIdentifiers(); 我的問題是如何以編程方式識別我的GPS設備在哪個端口上運行。任何人有任何想法?javax.comm:確定哪個串行端口我的GPS設備正在運行
T.
您必須逐個探測每一個:打開它,設置波特率,等待NMEA句子。我知道的每個GPS都會每秒發送一次NMEA數據,所以如果您在幾秒鐘後(或無法打開端口)沒有獲得NMEA數據,那麼它不是您的GPS。在Java中,GPS端口與其他COM端口無法區分。
BTW:不要試圖同時運行過多的檢查,串行驅動程序架構不喜歡太多,尤其是藍牙串行端口都參與其中。
非常好!是的,我認爲我將不得不做一些解析NMEA格式的字符串。我認爲NMEA協議中的每個字符串都以$開頭,所以這不應該太難(http://en.wikipedia.org/wiki/NMEA_0183)。只是想確保這是正確的方法。感謝您的迅速回答。 – 2011-05-04 13:10:11