无法通过带有J2ME的dell axim pda上的COM端口访问蓝牙设备

时间:2009-02-11 22:41:59

标签: java-me bluetooth

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

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

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

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

然而,当我打印出来时:

System.getProperty("microedition.commports")

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

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

有关成功设置COM端口以进行读取以及实际读取它的任何指针都是非常受欢迎的。对于该怎么做,我很难过,也很无能为力。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

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