Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package sample;
- import javafx.fxml.FXML;
- import javafx.scene.control.Button;
- import javafx.scene.control.TextField;
- import jssc.SerialPort;
- import jssc.SerialPortException;
- public class Controller {
- @FXML
- private TextField winCOm1;
- @FXML
- private Button btnCom1;
- @FXML
- private Button btnCom2;
- @FXML
- private Button btnCom3;
- @FXML
- private Button btnCom4;
- @FXML
- private Button btnCom5;
- @FXML
- private Button btnCom6;
- @FXML
- private Button btnCom7;
- @FXML
- private Button btnCom8;
- @FXML
- void initialize() {
- btnCom1.setOnAction(event -> {
- addStringWinCom1(str);
- });
- btnCom2.setOnAction(event -> {
- addStringWinCom2(ComPort.getTempValue(bTemp));
- });
- btnCom3.setOnAction(event -> {
- addStringWinCom3(ComPort.getSciplessByteArray(ComPort.workToComPort(serialPort, array)));
- });
- btnCom4.setOnAction(event -> {
- addStringWinCom4(str1);
- });
- btnCom5.setOnAction(event ->{
- if(s == ComPort.workToComPort(serialPort, array)){
- addStringWinCom1(str);
- }
- });
- }
- private void addStringWinCom1(String string) {
- winCOm1.setText(string);
- }
- private void addStringWinCom2(String string) {
- winCOm1.setText(string);
- }
- private void addStringWinCom3(String string) {
- winCOm1.setText(string);
- }
- private void addStringWinCom4(String string) {
- winCOm1.setText(string);
- }
- private SerialPort serialPort = new SerialPort("COM4");
- private byte[] array = {(byte) 0xc4, 0x00}; //1-я команда
- private byte[] s = ComPort.workToComPort(serialPort, array);
- private String str = ComPort.getStringValue(ComPort.workToComPort(serialPort, array));
- private String bTemp = str.substring(20);
- private byte[] com1 = {(byte) 0xc4, 0x01}; //2-я команда
- private byte[] s1 = ComPort.workToComPort(serialPort, com1);
- private String str1 = ComPort.getStringValue(s1);
- private static class ComPort {
- private static byte[] workToComPort(SerialPort s, byte[] arr) { //приём и и чтение данных с ком порта
- byte[] data = null;
- try {
- s.openPort();
- s.setParams(SerialPort.BAUDRATE_115200,
- SerialPort.DATABITS_8,
- SerialPort.STOPBITS_1,
- SerialPort.PARITY_NONE);
- s.writeBytes(arr);
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- data = s.readBytes();
- s.closePort();
- } catch (SerialPortException e) {
- e.printStackTrace();
- }
- return data;
- }
- private static String getStringValue(byte[] arr) {
- StringBuilder sb = new StringBuilder();
- for (byte b : arr) {
- sb.append(String.format("%02X ", b));
- }
- return (sb.toString());
- }
- private static String getTempValue(String string) { //получить значение температуры датчика
- String x = string.replaceAll("\\s", "");
- int num = Integer.parseInt(x, 16);
- String y = String.valueOf(num);
- // int c = (int)s[7];
- // String b = String.valueOf(c);
- return y;
- }
- private static String getSciplessByteArray(byte[] b) { //получить уникальный номер датчика
- byte[] xResult = new byte[4];
- xResult[0] = b[4];
- xResult[1] = b[5];
- xResult[2] = b[6];
- xResult[3] = b[7];
- StringBuilder sb = new StringBuilder();
- for (byte i : xResult) {
- sb.append(String.format("%02X ", i));
- }
- return (sb.toString());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement