首页 > 基础资料 博客日记

FileInputStream类写入数据到串口

2023-05-10 22:54:21基础资料围观375

Java中的FileInputStream类是用于从文件中读取数据的类,而不是用于向串口写入数据的类。如果您需要向串口写入数据,可以使用Java中的SerialPort类。


以下是使用SerialPort类向串口写入数据的示例代码:


import java.io.OutputStream;
import java.util.Scanner;
import gnu.io.CommPortIdentifier;
import gnu.io.SerialPort;
public class SerialWriter {
    private OutputStream outputStream;
    public SerialWriter(String portName) throws Exception {
        CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(portName);
        if (portIdentifier.isCurrentlyOwned()) {
            System.out.println("Error: Port is currently in use");
        } else {
            SerialPort serialPort = (SerialPort) portIdentifier.open(this.getClass().getName(), 1000);
            serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
            outputStream = serialPort.getOutputStream();
        }
    }
    public void write(String data) throws Exception {
        outputStream.write(data.getBytes());
    }
    public static void main(String[] args) {
        try {
            SerialWriter serialWriter = new SerialWriter("/dev/ttyUSB0");
            Scanner scanner = new Scanner(System.in);
            while(true) {
                System.out.print("Enter data to send: ");
                String data = scanner.nextLine();
                serialWriter.write(data);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}


该示例代码会不断等待用户输入要发送的数据并通过串口将其发送出去。其中"/dev/ttyUSB0"为串口设备名,可以根据实际情况更改。


标签:

相关文章

本站推荐

标签云