0

我正在尝试编写 J2ME 应用程序的一部分,我负责从通过蓝牙连接的 GPS 设备(连接到 Dell Axim X51 PDA)读取 NMEA 数据。

我已经将 gps 设备与 PDA 配对,我可以运行 gps 设备附带的示例程序,它成功地流式传输 NMEA 字符串。

在系统设置中,在 GPS 设置中,我设置了一个 COM 端口 (8) 供程序用来获取 GPS 数据,但是,在提供 GPS 硬件端口的详细信息时,似乎没有匹配的波特率到我必须在示例程序中使用的那个?这有关系吗?波特率实际上是什么意思?

现在,据我了解设置,我现在应该能够通过 COM 8 读取 NMEA 数据了吗?

但是,当我打印出来时:

System.getProperty("microedition.commports")

COM8 未出现在返回的列表中,如果我尝试在该端口上打开连接,则会收到以下错误:

java.io.IOException: GetCommState() failed; error code=21, (21) The device is not ready.

任何有关成功设置 COM 端口以供读取并实际从中读取的指针都将受到欢迎。我很困惑,不知道该怎么做。

4

2 回答 2

1

您设备上的 j2me 实现很有可能根本不支持蓝牙 COM 端口。我建议先确认一下。在其他(最近的)手机上比较系统属性调用的结果可能是值得的。

于 2009-02-12T11:12:16.070 回答
1

不知道那个特定的设备,但在 J2ME 中打开蓝牙 COM 端口的常用方法是使用JSR-82 API

您将扫描附近的设备,找出您的 GPS(通常在友好名称中包含“GPS”),扫描该设备上的服务(大多数 GPS 仅提供一个),然后打开与该服务的 BTSPP 连接。

于 2009-02-12T13:25:17.000 回答