如何解决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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。