【问题标题】:Communicate via SPI in Android在 Android 中通过 SPI 进行通信
【发布时间】:2013-09-14 06:57:35
【问题描述】:

目前我正在寻找一种在 Android 中通过 SPI 进行通信的解决方案。我在我的系统上安装了 NDK,并使用本机类与我的 Wandboard 上的 GPIO(/sys/class/gpio/gpioxx/value)进行通信。它工作正常。所以在 Android 中使用 NDK 或 C 代码的原则对我来说很清楚。不幸的是,我找不到任何 SPI 设备 /dev/...。我只找到 I²C 设备。有人可以告诉我,如果android基本上提供SPI?如果可能的话,我在哪里可以找到该设备?我可以像使用 Linux 一样进行通信吗?

谢谢

【问题讨论】:

    标签: android spi


    【解决方案1】:

    这是一个非常古老的问题的答案,但对其他人来说仍然很有价值

    默认情况下,/dev/spidev0.0 通常是不启用的。它必须在构建时在内核中启用,在运行时在设备树中启用。

    第一步是通过添加更改linux内核构建配置以启用spidev

    CONFIG_SPI_SPIDEV=y
    

    在设备树(其中一个 dts 文件)中,将 spidev 叶添加到您希望映射连接到的 spi 设备。

    这是高速连接器上的hikey960和spi3的例子,其他板子会略有不同

    &spi3 {
        /* On High speed expansion */
        label = "HS-SPI1";
        status = "okay";
        spi-cpol=<0>;
        spidev@1 {
           spi-max-frequency = <5000000>;
            compatible = "rohm,dh2228fv";
            pl022,com-mode = <2>;
        }
    };
    

    您将能够使用简单的cat &gt; /dev/spidev0.0cat &lt;/dev/spidev0.0 读取和写入设备/dev/spidev0.0,但ioctl 必须用于更复杂的选项,例如重新配置速度、改变极性和全双工写入/读取。

    【讨论】:

      猜你喜欢
      • 2014-05-19
      • 2022-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多