首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用jssc 2.8.0将数据写入Arduino

无法使用jssc 2.8.0将数据写入Arduino
EN

Stack Overflow用户
提问于 2016-12-01 04:45:24
回答 1查看 724关注 0票数 0

我的Java代码如下:

代码语言:javascript
复制
import jssc.SerialPort;
import jssc.SerialPortException;
import jssc.SerialPortList;
public class SerialPort1{
 public static boolean sentBytes;
    //public SerialPort serialPort;

    public static void main(String[] args) {
      // get computer serial ports names
      String[] portNames = SerialPortList.getPortNames();
      for (String port : portNames) {
         System.out.println(port);
      }


      // inicialization with selecting port for communication
      SerialPort serialPort = new SerialPort("/dev/ttyACM0");

      try {
         // open port for communication
         serialPort.openPort();
         serialPort.setParams(SerialPort.BAUDRATE_9600,
                 SerialPort.DATABITS_8,
                 SerialPort.STOPBITS_1,
                 SerialPort.PARITY_NONE,false,true);
         serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);
         // byte data transfer
         try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        serialPort.writeInt(1); 
         try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

         System.out.println(serialPort.readString());

         // close port
         serialPort.closePort();
      } catch (SerialPortException ex) {
         System.out.println(ex);
      }
   }
}

我能从Arduino那里读到。但是,我不能给Arduino写什么。如果有人能帮我解决这个问题,那就太好了。

我的Arduino密码:

代码语言:javascript
复制
 void setup() {
    Serial.begin(9600);
    }

    void loop() {
    Serial.println("Android");
    delay(2000);
    }

我从这里下载了jssc库。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-06 09:43:25

代码语言:javascript
复制
import jssc.SerialPort;
import jssc.SerialPortException;
import jssc.SerialPortList;
public class SerialPort1{
 public static boolean sentBytes;
    //public SerialPort serialPort;

    public static void main(String[] args) {
      // get computer serial ports names
      String[] portNames = SerialPortList.getPortNames();
      for (String port : portNames) {
         System.out.println(port);
      }


      // initialization with selecting port for communication
      SerialPort serialPort = new SerialPort("/dev/ttyACM0");

      try {
         // open port for communication
         serialPort.openPort();
         serialPort.setParams(SerialPort.BAUDRATE_9600,
                 SerialPort.DATABITS_8,
                 SerialPort.STOPBITS_1,
                 SerialPort.PARITY_NONE,false,true);
         serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);
         // byte data transfer
         try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        serialPort.writeInt(1); 
         try {
            Thread.sleep(200);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

         System.out.println(serialPort.readString());

         // close port
         serialPort.closePort();
      } catch (SerialPortException ex) {
         System.out.println(ex);
      }
   }
}

我所需要做的就是在打开串口后添加2000 to的睡眠,然后在写入Arduino之后添加200 to的睡眠。此外,Arduino代码的延迟被减少到200 to。

代码语言:javascript
复制
void setup() {
    Serial.begin(9600);
 }

void loop() {
    Serial.println("Android");
    delay(200);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40902812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档