Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用java阅读mcp 3202,用kura表示覆盆子_Java_Raspberry Pi_Spi_Kura - Fatal编程技术网

用java阅读mcp 3202,用kura表示覆盆子

用java阅读mcp 3202,用kura表示覆盆子,java,raspberry-pi,spi,kura,Java,Raspberry Pi,Spi,Kura,我尝试用jdk.dio读取java中的gaz传感器,但我总是在SPI总线上读取0,代码如下: import java.nio.ByteBuffer; import org.slf4j.Logger; import jdk.dio.Device; import jdk.dio.DeviceConfig; import jdk.dio.DeviceManager; import jdk.dio.spibus.SPIDevice; import jdk.dio.spibus.SPIDevice

我尝试用jdk.dio读取java中的gaz传感器,但我总是在SPI总线上读取0,代码如下:

import java.nio.ByteBuffer;
import org.slf4j.Logger;    
import jdk.dio.Device;
import jdk.dio.DeviceConfig;
import jdk.dio.DeviceManager;
import jdk.dio.spibus.SPIDevice;
import jdk.dio.spibus.SPIDeviceConfig;

public class SPIDACDemo {
    public static void startApp(Logger sLogger, int spiDeviceId) {
        try {
            SPIDeviceConfig config = new SPIDeviceConfig(0, 1, 300000, 0, DeviceConfig.DEFAULT, Device.BIG_ENDIAN);
            SPIDevice spi = (SPIDevice) DeviceManager.open(config);
            while (true) {
                ByteBuffer rcvMsg = ByteBuffer.wrap(new byte[2]);                   
                int resp = spi.read(rcvMsg);
                System.out.println(resp);
                for (byte b : rcvMsg.array()) {
                    System.out.println(b);
                }
                String message = "Response: " + resp + ", Received: " + new String(rcvMsg.array(),"ASCII");
                System.out.println(message);
                Thread.sleep(1000);
            }
            spi.close();
            System.out.println("Done");
        } catch (Exception ex) {
            System.out.println(ex.getMessage());
            sLogger.error(SPIDACDemo.class.getName() + ", error:" + ex);
        }
    }
}

我的连接正常,我可以用python读取值,但在Java中我只读取0

在阅读之前你必须发送任何命令吗?您确定选择了正确的从属服务器吗?这个问题和库拉有什么关系?你能向传感器发送什么样的命令?从属0的结果相同。Kura使用jdk.dio库而不是pi4j来验证问题是否出在Java上。您可以使用Kura外部的传感器进行检查。只需使用简单的pi4j库