2015-10-08 6 views
1

Я пытаюсь установить соединение между моим компьютером и arduino uno с помощью Java Simple Serial Connector. Я пытаюсь сделать это, используя приведенный ниже код. Как-то его не работает (светодиодный диод, подключенный к контакту 7 arduino, не включается во время работы моей программы, но когда я использую серийный монитор программного обеспечения artuino, он это делает.). Кто-нибудь знает, почему?Соедините компьютер с arduino, используя простой последовательный соединитель Java

Java код проекта:

import jssc.SerialPort; 
import jssc.SerialPortException; 

public class Main { 

    public static void main(String[] args) { 
     //In the constructor pass the name of the port with which we work 
     SerialPort serialPort = new SerialPort("COM3"); 
     try { 
      //Open port 
      serialPort.openPort(); 
      //We expose the settings. You can also use this line - serialPort.setParams(9600, 8, 1, 0); 
      serialPort.setParams(SerialPort.BAUDRATE_9600, 
           SerialPort.DATABITS_8, 
           SerialPort.STOPBITS_1, 
           SerialPort.PARITY_NONE); 
      //Writes data to port 
      serialPort.writeBytes("Test".getBytes()); 
      //Closing the port 
      serialPort.closePort(); 
     } 
     catch (SerialPortException ex) { 
      System.out.println(ex); 
     } 
    } 
}` 

Arduino код:

void setup() { 
    Serial.begin(9600); //Ustawienie prędkości transmisji 
    pinMode(7, OUTPUT); 
    digitalWrite(7, LOW); 
} 

void loop() { 
    if(Serial.available() > 0){ 
    digitalWrite(7, HIGH); 

    } 

} 
+0

Я бы подождал немного после отправки байтов перед закрытием порта, попробуйте Thread.Sleep betw een writeBytes и closePort –

+0

Это не помогает:/ – HTF

+0

Хорошо, ребята. чтобы сделать эту работу, вы должны поставить Thread.sleep между serialPort.setParams и serialPortwriteBytes :) Спасибо за ответ Petter Friberg – HTF

ответ

0

Я думаю, ваш Arduinocode неправильно.

Я делаю это так.

https://www.arduino.cc/en/Serial/Write

Serial.write(val) 

Serial.write (ул) Serial.write (BUF, длина)

вал: значение для отправки в виде одного байта : ул строки для отправки в виде серия байтов buf: массив для отправки в виде серии байтов len: длина буфера

+0

Ссылки на потенциальные решения всегда приветствуются, но, пожалуйста, добавьте некоторые подробности для будущих посетителей, если ссылка больше не доступна. –

 Смежные вопросы

  • Нет связанных вопросов^_^