jSerialCom库中如何捕获各种中断请求?

问题描述

众所周知,jSerialCom一个用于读取串口数据的优质Java库; 之前,RXTX也是不错的选择,

那么在jSerialCom中,如何捕捉RXTX等各种中断事件?

在RXTX中,有这些java语句来捕捉各种中断事件

serialPort.notifyOnFramingError (true);

serialPort.notifyOnBreakInterrupt (true);

然后,在catch代码中,我们可以这样写:

switch ( event.getEventType ()) {

    case SerialPortEvent.FE :

        break;

    case SerialPortEvent.OUTPUT_ BUFFER_ EMPTY:

        break;

    case SerialPortEvent.DATA_ AVAILABLE:

        //read data of serial port ...  
        break;

    case default:

        break;

但是 jSerialCom 呢? 只有“LISTENING_EVENT_DATA_AVAILABLE”之类的打击代码?不需要捕捉其他中断请求吗?

if ( event.getEventType () != SerialPort.LISTENING_EVENT_DATA_AVAILABLE ) {

     return;

}

解决方法

当前的源代码和 API 文档都没有这样的功能。

Fazecast/jSerialComm
public final void waitForSerialEvent() throws Exception

视窗:
JNIEXPORT jboolean JNICALL Java_com_fazecast_jSerialComm_SerialPort_configEventFlags(JNIEnv *env,jobject obj,jlong serialPortFD)
JNIEXPORT jint JNICALL Java_com_fazecast_jSerialComm_SerialPort_waitForEvent(JNIEnv *env,jlong serialPortFD)

正则:
JNIEXPORT jboolean JNICALL Java_com_fazecast_jSerialComm_SerialPort_configEventFlags(JNIEnv *env,jlong serialPortFD)
JNIEXPORT jint JNICALL Java_com_fazecast_jSerialComm_SerialPort_waitForEvent(JNIEnv *env,jlong serialPortFD)


文档:
Home - jSerialComm
API Documentation
Class SerialPortEvent
Class SerialPortIOException