Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > java и com порт нужна помощь !!!


Автор: smokimo 30.12.2011, 18:30
здравствуйте, я новичок на вашем форуме и извините если я свою тему пиши не в положено для нее месте, вообщем учись я в школе там перепадают нам яву вот недавно начал заниматься электроникой то суть в том что у меня есть плата arduino может кто то слышал она подключается по usb и я хочу написать на яве такую программу которая посылала бы на com port символ,прочитал кучу статей про com порты ну нечего толком и не нашел пишу программы я в основном в eslipse, буду очень благодарен за помощь 

Автор: dorogoyIV 30.12.2011, 20:22
Цитата(smokimo @  30.12.2011,  18:30 Найти цитируемый пост)
там перепадают нам яву

вот у меня в универе сосед по парте был ... ну как его еще назвать?... НУ ЕСЛИ ОН ДОЛБОЕБ...

привет, smokimo, мы все рады, что ты выбрал этот язык.
помощь тебе будет...
ты давай, начинай, а там дальше мы поможем... 

Автор: smokimo 3.1.2012, 00:34
здравствуйте, я нашел хорошую для меня статью : http://www.javatalks.ru/ftopic18692.php&highlight=jssc
дело в там что у меня не как не получается подключить библиотеку jssc 
был бы очень  благодарен если бы меня кто небуть проинструктировал что именно качать с этого сайта http://code.google.com/p/java-simple-serial-connector/downloads/list и куда это все добро девать дело в том что я на личном опыте писал программы только со стандартными библиотеками   
  

Автор: Pawl 4.1.2012, 11:00
Я так понял, верхняя - самая новая версия (она, кстати, recomended), так что ее, видимо, лучше всего качать. Ну а как ее подключать - Зависит от того, в какой среде разработки Вы работаете. Советую использовать русский NetBeans 7, по нему написана КУЧА статей. 

Автор: smokimo 12.1.2012, 20:56
Pawl
а вы не могли бы поподробней рассказать как подключить ее в NetBeans 7.
спасибо smile 

Автор: Dummy 12.1.2012, 23:05
Так там же все и написано: http://code.google.com/p/java-simple-serial-connector/wiki/jSSC_Start_Working

Автор: smokimo 13.1.2012, 00:15
оо... Спасибо, а я что то не заметил smile 

Автор: smokimo 17.1.2012, 04:58
помогите пожалуйста, 
вот мой код: 
Код

import jssc.SerialPort;

import jssc.SerialPortException;

import java.awt.*;      
import java.awt.event.*; 
  
public class JavaApplication61 extends Frame  {


Button b=new Button("OK");     // кнопка 
    

JavaApplication61(String s)         
    {
    super(s);      
    setLayout(null);   
        
    sa.setBounds(100,100,100,50);
    add(sa);
    
    
    b.setBounds(150,150,150,50);
    add(b);
    b.addActionListener(new AL()); 
    
    setSize(400, 400);
    setVisible(true);
    }


    
    
    class AL implements ActionListener   
    {
    public void actionPerformed(ActionEvent ae)         
        {

///  обработчик кнопки 


        }    
    }

    public static void main(String[] args) {

       

        Frame f = new JavaApplication61("ArduinoRobot");
        
        f.addWindowListener (new WindowAdapter(){
            public void windowClosing (WindowEvent ev){
            System.exit(0);
            }
                });
        
        
        
        
        
        SerialPort serialPort = new SerialPort("COM5");

      try {

            //Открываем порт

            serialPort.openPort();

            //Выставляем параметры. Можно использовать и такую строку serialPort.setParams(9600, 8, 1, 0);

            serialPort.setParams(SerialPort.BAUDRATE_9600,

                                 SerialPort.DATABITS_8,

                                 SerialPort.STOPBITS_1,

                                 SerialPort.PARITY_NONE);

   ////         

String aa = ("w");                               //     собственно вот так я посылаю строку в  
 serialPort.writeBytes(aa.getBytes());
            
   ///
 
            byte[] buffer = serialPort.readBytes(10);

            //Закрываем порт

            serialPort.closePort();

       }

      catch (SerialPortException ex) {

        // System.out.println(ex);
    
     }
   

        
        
    }

}





сейчас он просто про компиляции отправляет w в com port , а мне надо сделать так что бы когда я нажимаю на кнопку только тогда происходило это действие , я не как не могу сделать это в обработчике кнопки.. :( 

Автор: aleksandy 18.1.2012, 11:53
serialPort - сделай полем класса

Автор: smokimo 20.1.2012, 00:01
не как не выходит это сделать :(

Автор: smokimo 20.1.2012, 01:37
с COM портом я разобрался и с библиотекой также , спасибо за советы.. 
ну я встал перед задачей с которой не в силах сам справится 
суть в том что когда я нажимаю на кнопку происходило действие " serialPort.writeBytes("w".getBytes()); " 
я пробовал делать SerialPort serialPort = new SerialPort("COM5"); глобальным но не вышло , мне кажется это из за того что он находится в "try" я не знаком с этом  :(
буду очень благодарен за какой либо совет   smile

Код

import jssc.SerialPort;

import jssc.SerialPortException;

import java.awt.*;      
import java.awt.event.*; 
  
public class JavaApplication61 extends Frame  {

    
   Button b=new Button("OK");   // кнопка   

  
JavaApplication61(String s)         
    {
    super(s);      
    setLayout(null);   
    
        // кнопка
    b.setBounds(150,150,150,50);
    add(b);
    b.addActionListener(new AL());  // обработчик кнопки   
    //
    setSize(400, 400);
    setVisible(true);
    }

public void paint(Graphics g)  
    {

    //grafika

    }
    
        class AL implements ActionListener   
{
public void actionPerformed(ActionEvent ae)         
{
 
        // обработчик кнопки   
        }    
    }



public static void main(String[] args) {
  
          Frame f = new JavaApplication61("ArduinoRobot");
        
        f.addWindowListener (new WindowAdapter(){
            public void windowClosing (WindowEvent ev){
            System.exit(0);
            }
                });
        
      
                

      
      
      SerialPort serialPort = new SerialPort("COM5");
      
      
try  {

            //Открываем порт

            serialPort.openPort();

            //Выставляем параметры. Можно использовать и такую строку serialPort.setParams(9600, 8, 1, 0);

            serialPort.setParams(SerialPort.BAUDRATE_9600,

                                 SerialPort.DATABITS_8,

                                 SerialPort.STOPBITS_1,

                                 SerialPort.PARITY_NONE);

            /// мне надо что бы вот это действие происходило при нажатии на кнопку 
        String aa = ("w");
            //Записываем данные в порт
       serialPort.writeBytes(aa.getBytes());
            
   
 
            byte[] buffer = serialPort.readBytes(10);

            //Закрываем порт

            serialPort.closePort();

        }

catch (SerialPortException ex) {

        // System.out.println(ex);
    
     }

   }

}



Автор: Pawl 21.1.2012, 10:00
Цитата(smokimo @  20.1.2012,  01:37 Найти цитируемый пост)
нажимаю на кнопку происходило действие " serialPort.writeBytes("w".getBytes()); " 

попробуй эти действия
Код

     SerialPort serialPort = new SerialPort("COM5");
      
      
try  {

            //Открываем порт

            serialPort.openPort();

            //Выставляем параметры. Можно использовать и такую строку serialPort.setParams(9600, 8, 1, 0);

            serialPort.setParams(SerialPort.BAUDRATE_9600,

                                 SerialPort.DATABITS_8,

                                 SerialPort.STOPBITS_1,

                                 SerialPort.PARITY_NONE);

            /// мне надо что бы вот это действие происходило при нажатии на кнопку 
        String aa = ("w");
            //Записываем данные в порт
       serialPort.writeBytes(aa.getBytes());
            
   
 
            byte[] buffer = serialPort.readBytes(10);

            //Закрываем порт

            serialPort.closePort();

        }

catch (SerialPortException ex) {

        // System.out.println(ex);
    
     }

описать в методе actionPerformed класса AL. Собственно, этот метод и срабатывает, когда нажимается кнопка, а у тебя в нем непонятно что. Написано только "обработчик кнопки".
Да, и когда постиш код, соблюдай, пожалуйста, java-конвенции, а то читать неудобно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)