【问题标题】:Sending data by serial port通过串口发送数据
【发布时间】:2017-01-31 00:07:12
【问题描述】:

我正在尝试将数据发送到我拥有的设备中的串行端口,并将设备串行连接到我的 PC。在我的电脑中,我试图通过终端应用程序接收数据。该设备正在使用 J2ME,我用来连接到 com 端口的代码如下。

public boolean connect() {
    if (bConnected) {
        return true;
    } else {
        try {
            StringBuffer strCom = new StringBuffer(80);
            strCom.append("comm:" + strCOMPort
                    + ";blocking=on;autocts=off;autorts=off;stopbits=");
            //autocts=on;autorts=on;
            strCom.append(stopbits);
            strCom.append(";bitsperchar=");
            strCom.append(bitsperchar);
            //strCom.append(";parity=");
            //strCom.append(parity);
            strCom.append(";baudrate=");
            strCom.append(baudrate);

            commConn = (CommConnection) Connector.open(strCom.toString());
            writeStatusToFile(
                    "CommConnection(" + strCom.toString()
                            + ") with device opened.");
            strCom = null;
            inStream = commConn.openDataInputStream();
            outStream = commConn.openOutputStream();
            inStream.skip(inStream.available());
            bConnected = true;
            return true;
        } catch (Exception IOe) {
            writeStatusToFile(
                            "Opening COM0 IOException :" + IOe.getMessage());
            return false;
        }
    }
}

下面给出了我正在使用的将数据写入串行端口的代码。

public void sendData(short[] message){
    String bytedata = "";
    try
    {
        System.out.println("Length of message array: " +  message.length);
        for(int i = 0; i<message.length; i++){
            System.out.println("Data: " +message[i]);
            bytedata += message[i];
            outStream.write(message[i]);
            System.out.println("Done");
        }
    //outStream.write(message);
    outStream.flush();
    }
    catch(Exception ex)
    {
        System.out.println("Exception during sending bytes--->" + ex.toString());
        ex.printStackTrace();
    }
            System.out.println(
            "Data flushed to output stream: " + bytedata);
}

设备的 COM 设置为 COM0,波特率为 4800,奇偶校验为无,每个字符的位数为 8,停止位为 1(这些值是全局初始化的)。我在终端应用程序中设置了从 COM 端口接收数据的相同设置。

我面临的问题是,当我连接到串行端口时,我的 PC 中没有收到任何内容。我想知道我是否在代码逻辑中犯了任何错误。欢迎任何有助于我分析问题的建议。如果需要任何其他信息,请说明。

【问题讨论】:

    标签: java serial-port java-me


    【解决方案1】:

    此问题与以下事实有关没有到显示器。 请注意,这不是解决方案,而是一个原因

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-13
      • 1970-01-01
      • 2011-06-15
      • 2013-09-09
      相关资源
      最近更新 更多