You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

98 lines
3.7 KiB

5 years ago
  1. /*
  2. * Test.class is just that.. a Test
  3. */
  4. import java.io.*;
  5. import java.util.*;
  6. import gnu.io.*;
  7. public class Test implements SerialPortEventListener {
  8. InputStream inputStream;
  9. OutputStream outputStream;
  10. SerialPort serialPort;
  11. Thread readThread;
  12. public static void main(String[] args) {
  13. if (args.length < 1) {
  14. System.out.print("Test.class /dev/ports/serialx\n");
  15. System.exit(-1);
  16. }
  17. System.out.println("opening the Port: " + args[0]);
  18. Test reader = new Test(args[0]);
  19. }
  20. public Test(String PortName) {
  21. RXTXCommDriver TxPort = new RXTXCommDriver();
  22. System.out.print("open Ports\n");
  23. serialPort = (SerialPort) TxPort.getCommPort(PortName, CommPortIdentifier.PORT_SERIAL);
  24. System.out.print("Get Streams\n");
  25. try {
  26. inputStream = serialPort.getInputStream();
  27. outputStream = serialPort.getOutputStream();
  28. } catch (IOException e) {
  29. e.printStackTrace();
  30. }
  31. try {
  32. serialPort.addEventListener(this);
  33. } catch (TooManyListenersException e) {
  34. e.printStackTrace();
  35. }
  36. try {
  37. System.out.println("Baud is " + serialPort.getBaudRate());
  38. System.out.println("Bits is " + serialPort.getDataBits());
  39. System.out.println("Stop is " + serialPort.getStopBits());
  40. System.out.println("Par is " + serialPort.getParity());
  41. System.out.print("Set Params\n");
  42. serialPort.setSerialPortParams(19200, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
  43. System.out.println("Baud is " + serialPort.getBaudRate());
  44. System.out.println("Bits is " + serialPort.getDataBits());
  45. System.out.println("Stop is " + serialPort.getStopBits());
  46. System.out.println("Par is " + serialPort.getParity());
  47. System.out.print("Set Params\n");
  48. serialPort.setSerialPortParams(9600, SerialPort.DATABITS_7, SerialPort.STOPBITS_2, SerialPort.PARITY_ODD);
  49. System.out.println("Baud is " + serialPort.getBaudRate());
  50. System.out.println("Bits is " + serialPort.getDataBits());
  51. System.out.println("Stop is " + serialPort.getStopBits());
  52. System.out.println("Par is " + serialPort.getParity());
  53. } catch (UnsupportedCommOperationException e) {
  54. e.printStackTrace();
  55. }
  56. System.out.print("Sending 0x01\n");
  57. try {
  58. outputStream.write((byte)0x01);
  59. System.out.print("0x01 Sent\n");
  60. } catch (IOException e) {
  61. e.printStackTrace();
  62. }
  63. }
  64. public void serialEvent(SerialPortEvent event) {
  65. switch(event.getEventType()) {
  66. case SerialPortEvent.BI:
  67. System.out.print("BI\n");
  68. case SerialPortEvent.OE:
  69. System.out.print("OE\n");
  70. case SerialPortEvent.FE:
  71. System.out.print("FE\n");
  72. case SerialPortEvent.PE:
  73. System.out.print("PE\n");
  74. case SerialPortEvent.CD:
  75. System.out.print("CD\n");
  76. case SerialPortEvent.CTS:
  77. System.out.print("CTS\n");
  78. case SerialPortEvent.DSR:
  79. System.out.print("DSR\n");
  80. case SerialPortEvent.RI:
  81. System.out.print("RI\n");
  82. case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
  83. System.out.print("Out Buff Empty\n");
  84. break;
  85. case SerialPortEvent.DATA_AVAILABLE:
  86. System.out.print("Data Available\n");
  87. break;
  88. }
  89. }
  90. }