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


Автор: Meter 20.5.2011, 19:00
Написал код где на определенний порт отправляетса ат команда а ответа никакого, ктото сталкивался с етим, хотелось бы увидеть кусок кода где происходит отправка. на ком порту висит телефон.

Код

if (portIdentifier.getName().equals("COM7")) {
            System.out.println("start");
                try {
                    port = (SerialPort) portIdentifier.open(portIdentifier.getName(), 2000);

                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException ex) {
                        Logger.getLogger(CardReader.class.getName()).log(Level.SEVERE, null, ex);
                    }
                } catch (PortInUseException ex) {
                    Logger.getLogger(CardReader.class.getName()).log(Level.SEVERE, null, ex);
                    System.out.println("error conect");
                }

                try {
                    os = port.getOutputStream();
                } catch (IOException ex) {
                    Logger.getLogger(CardReader.class.getName()).log(Level.SEVERE, null, ex);
                    System.out.println("error os");
                }
                try {
                    is = port.getInputStream();
                } catch (IOException ex) {
                    Logger.getLogger(CardReader.class.getName()).log(Level.SEVERE, null, ex);
                    System.out.println("error is");
                }

                try {

                    port.setSerialPortParams(921600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
                } catch (UnsupportedCommOperationException ex) {
                    Logger.getLogger(CardReader.class.getName()).log(Level.SEVERE, null, ex);
                    System.out.println("error port param");
                }
                try {

                    os.write("AT?".getBytes());

                    //System.out.println("AT+CMGS=?".getBytes());


                } catch (IOException ex) {
                    Logger.getLogger(CardReader.class.getName()).log(Level.SEVERE, null, ex);
                    System.out.println("error phone");
                }
                try {
                    Thread.sleep(5000);
                } catch (InterruptedException ex) {
                    Logger.getLogger(CardReader.class.getName()).log(Level.SEVERE, null, ex);
                }
//                try {
//                    //os.write("AT+CMGS=22/n".getBytes());
//                } catch (IOException ex) {
//                    Logger.getLogger(CardReader.class.getName()).log(Level.SEVERE, null, ex);
//                }
                int b;
                try {
                    while ((b = is.read()) != -1) {
                        //System.out.print((int) (b - '0'));
                        System.out.print((char)b);
                    }
                } catch (IOException ex) {
                    Logger.getLogger(CardReader.class.getName()).log(Level.SEVERE, null, ex);
                }
                System.out.println("close");
                port.close();
            }
        }

Автор: Krivoy 21.5.2011, 21:42
хз, но может для начала посмотреть ходит ли на этом порту вааще хоть что нибудь?
http://technet.microsoft.com/ru-ru/sysinternals/bb896644.aspx

Автор: AleksPingvin 23.5.2011, 09:59
Какой библиотекой для работы с COM-портом пользуетесь?

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