Native PIO

Native PIO API 允许您编写C / C ++代码来控制访问与标准PIO API 相同的底层外设服务的 GPIO,PWM,I2C,SPI 和 UART 外设。这样,您可以纯粹以C / C ++编写 Android Things 应用程序,或者使用C或C ++代码扩展基于Java的 Android Things 应用程序,该代码使用 Native PIO API(例如移植为其他嵌入式平台编写的现有驱动程序)。

开始使用NDK

如果您从未使用NDK,请参阅“Android NDK入门指南”下载并安装NDK。该文档还提供了有关如何使用NDK的详细信息。

获取Android Things 本地库

Native PIO API可在 Android Things native library 中使用。您将整个目录复制到Android Studio项目的根目录中。目录结构如下所示:

libandroidthings/
  ${ABI}/
    include/
      pio/
        *.h
    lib/
      libandroidthings.so

您将包含头文件在include / pio目录中,以编译您的应用程序,并在打包应用程序时将相应ABI的libandroidthings.so共享对象链接起来。FindAndroidThings.cmake CMake模块文件也可用于帮助您配置新的NDK项目以使用Android Things本机库。

有关更多信息和文档,请参阅Github repository中库的头文件。

Native PIO 示例

Natove PIO示例(参见Github repository)显示了如何闪烁LED,从按钮中获取输入,并通过调用NativeActivity中的Native PIO API来启动PWM扬声器,从而可以使用C / C ++创建一个活动。

运行示例:

  1. Github 上Clone or download 示例。
  2. 有关运行示例的先决条件,请参阅 README.md 文件。
  3. 将Native PIO库提取或复制到项目的根目录中。
  4. 将设备连接到开发机器,并运行示例模块之一:闪烁,按钮或扬声器。

    • In Android Studio: 通过运行按钮在下拉菜单中选择模块,然后单击 运行 按钮。
    • On the command line:从您的项目根目录运行以下命令:

      ./gradlew [blink|button|speaker]:installDebug
      adb shell am start com.example.androidthings.nativepio/android.app.NativeActivity
      

results matching ""

    No results matching ""