如何更改javacomm异步。通知行为?

如何更改javacomm异步。通知行为?,java,serial-port,communication,Java,Serial Port,Communication,我正在使用java comm库来侦听通过串行端口传入的字节。我把它设置为异步。通知,即有一个实现SerialPortEventListener的类。是否有任何方法可以设置调用SerialPortEvent.DATA\u AVAILABLE事件的阈值。在我的例子中,库会等到收到大约20个字节后才会触发此事件,在我的例子中,我希望在收到大约前8个字节时收到通知 感谢您的回复。我认为您的问题可能是大多数(所有?)PC串行端口UART都有硬件缓冲区。IIRC,它至少有16个字节长。是否尝试对端口对象调用

我正在使用java comm库来侦听通过串行端口传入的字节。我把它设置为异步。通知,即有一个实现SerialPortEventListener的类。是否有任何方法可以设置调用SerialPortEvent.DATA\u AVAILABLE事件的阈值。在我的例子中,库会等到收到大约20个字节后才会触发此事件,在我的例子中,我希望在收到大约前8个字节时收到通知


感谢您的回复。

我认为您的问题可能是大多数(所有?)PC串行端口UART都有硬件缓冲区。IIRC,它至少有16个字节长。是否尝试对端口对象调用
disableReceiveThreshold()
?这可能会大大降低效率,具体取决于驱动程序的实现方式

是的,我已经尝试了disableReceiveThreshold,当有>=14个字节要从inputstream读取时,我似乎仍然只获取第一个数据事件,当我获取大约8个字节时,我希望得到通知。如何
设置rcvfifotrigger()
?API文档说这是不推荐的,因为它是“仅供参考的”。如果这不起作用,您可能必须找到一种使用本机代码编程UART的方法。如果您还没有看到它:--但是,这可能没有提供任何有用的东西。