您好,我正在创建一个读取和写入串行端口的程序。在程序的开头,我将调用类ReadSerialPort,WriteSerialPort和JWakeup。

我的问题是:从JWakeup向串行端口写入内容时,我想等到串行端口响应为止。

public class MainClass{


public static void main(String args[]){

    new ReadSerialPort().OpenSerialPort();
    new WriteSerialPort().OpenSerialPort();

    new JWakeup().setVisible(true);
}}


public class JWakeUp extends JFrame implements ActionListener{


public JWakeUp() {
    super("JWakeUp");

    //Other Code

    new WriteSerialPort().writeDataToSerialPort("WritenString");

    //In this part I want to know when the class ReadSerialPort()
    // will read the "readenString"

}}

最佳答案

您可以使用Semaphore semaphore = new Semaphore(0);在这些类之外创建信号量,并将其传递给那些类。完成ReadSerialPort后,使用semaphore.release()并在JWakeUp中等待ReadSerialPort的地方使用semaphore.acquire()

07-24 18:37