Ik heb natuurlijk de Java Communications API geinstalleerd. En nu wil ik wat versturen via de com poort. Dit gaat dan naar een microcontroller, en die doet er dan wat mee.
Om het te testen gebruik ik de sample code die bij de API zat. Maar die werkt niet. Het programma geeft geen exceptions, dus ik neem aan dat het programma al niet bij een try in de buurt komt.
Het programma komt eigenlijk niet verder dan regel 5.
Ik heb op mijn laptop geen seriele poort zitten en gebruik daarvoor een USB to RS232 kabel. Zou hij deze niet kunnen vinden? Ik denk namelijk dat daar de fout zit.
Ik heb al gezocht in de API faq en google, maar ik kon niks vinden over zo'n kabel en de compatibiliteit met de API.
De kabel werkt wel normaal met andere test terminals, en hij staat bij Apparatenbeheer gewoon bij de poorten als COM4.
Om het te testen gebruik ik de sample code die bij de API zat. Maar die werkt niet. Het programma geeft geen exceptions, dus ik neem aan dat het programma al niet bij een try in de buurt komt.
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| private void sendSomething() { int sent = 0; portList = CommPortIdentifier.getPortIdentifiers(); while (portList.hasMoreElements()) { portId = (CommPortIdentifier) portList.nextElement(); if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) { // Poort Naam if (portId.getName().equals("COM4")) { try { serialPort = (SerialPort) portId.open("SerialTest", 2000); } catch (PortInUseException e) {System.out.println( "PortInUseException" );} try { outputStream = serialPort.getOutputStream(); } catch (IOException e) {System.out.println( "IOException" );} try { // Baud Rate ed. serialPort.setSerialPortParams(19200, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); } catch (UnsupportedCommOperationException e) {System.out.println( "UnsupportedCommOperationException" );} try { outputStream.write(messageString.getBytes()); sent = 1; // data verzonden } catch (IOException e) {System.out.println( "IOException" );} } } } if( sent == 1 ) { System.out.println( "Data sent!" ); } else { System.out.println( "Failed..." ); } } |
Het programma komt eigenlijk niet verder dan regel 5.
Ik heb op mijn laptop geen seriele poort zitten en gebruik daarvoor een USB to RS232 kabel. Zou hij deze niet kunnen vinden? Ik denk namelijk dat daar de fout zit.
Ik heb al gezocht in de API faq en google, maar ik kon niks vinden over zo'n kabel en de compatibiliteit met de API.
De kabel werkt wel normaal met andere test terminals, en hij staat bij Apparatenbeheer gewoon bij de poorten als COM4.
[ Voor 3% gewijzigd door Verwijderd op 19-10-2004 15:58 . Reden: lay-out ]