![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
|
![]() |
#1 |
Elite
![]() |
![]() nach mehreren stunden herumprobieren muss ich jetzt aufgeben
ich hab mein handy per kabel am serial port angeschlossen, kann jedoch über java nichts rausschicken bzw empfangen zur erklärung des codes: zuerst wird der entsprechende port geöffnet, dann werden die enstprechenden einstellungen gesetzt alle messages, die auftreten können, werden abgefangen, tatsächlich treten im beispiel nur zweimal die "output buffer empty" msgs auf. eigentlich sollte die message AT "OK" als rückmeldung liefern, tatsächlich kommt aber nichts zurück, av steht immer auf 0. mit einem normalen terminal funktioniert das ganze, sprich es muss irgendwo an der verbindung zwischen java und dem port liegen. die einstellungen (19200 baud usw) sollten auch passen, das hyperterminal funkt mit diesen einstellungen, sind auch die, die von siemens empfohlen werden. Code:
Enumeration en = CommPortIdentifier.getPortIdentifiers(); while (en.hasMoreElements()) { CommPortIdentifier current = (CommPortIdentifier)en.nextElement(); if (current.getPortType() == CommPortIdentifier.PORT_SERIAL && current.getName().equals ("COM1")) { m_port = (SerialPort)current.open("PortConnector", 1000); m_port.setSerialPortParams(19200, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); m_port.setFlowControlMode(SerialPort.FLOWCONTROL_NONE); System.out.println ("serial prot connected"); } } m_port.addEventListener(this); m_port.notifyOnDataAvailable(true); m_port.notifyOnOutputEmpty(true); m_port.notifyOnBreakInterrupt(true); m_port.notifyOnCarrierDetect(true); m_port.notifyOnCTS(true); m_port.notifyOnDSR(true); m_port.notifyOnFramingError(true); m_port.notifyOnOverrunError(true); m_port.notifyOnParityError(true); m_port.notifyOnRingIndicator(true); String msg = "AT"; OutputStream out = m_port.getOutputStream(); InputStream in =m_port.getInputStream(); try{ out.write(msg.getBytes()); out.write(13); // <CR> } catch (IOException e) { System.out.println("writing failed"); } out.flush(); out.close(); System.out.println("writing finished"); int av = in.available(); System.out.println (av); der output: serial prot connected output empty // wird vom event listener ausgegeben output empty ready 0 // da sollte eigentlich 2 stehen, weil ja OK zurückkommt ich hoff irgendwer kann mir weiterhelfen, weil ich sitz schon den ganzen nachmittag und programmier ins blinde, weil ich keine rückmeldungen krieg und keine ahnung hab ob überhaupt beim handy was ankommt. |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|