NikobusInterface.java 文件源码

java
阅读 19 收藏 0 点赞 0 评论 0

项目:openhab-hdl 作者:
/**
 * {@inheritDoc}
 * 
 * Any data received from a serial event, is immediately passed on to the
 * command receiver thread.
 */
@Override
public void serialEvent(SerialPortEvent event) {

    if (event.getEventType() != SerialPortEvent.DATA_AVAILABLE) {
        return;
    }

    InputStream is = null;

    try {

        lastEventTimestamp = System.currentTimeMillis();
        is = port.getInputStream();

        int available = is.available();
        if (available == 0) {
            log.warn("Received data available event, but no data was found!");
            return;
        }

        byte[] buffer = new byte[available];
        is.read(buffer, 0, available);
        bufferQueue.add(buffer);
        if (available != 1 || buffer[0] != 13) {
            // don't print single CR's in log..
            log.trace("Received: {}", new String(buffer));
        }
    } catch (IOException e) {
        log.error("Error receiving data on serial port {}: {}",
                port.getName(), e.getMessage());
    }

}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号