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 ++创建一个活动。
运行示例:
- 从 Github 上Clone or download 示例。
- 有关运行示例的先决条件,请参阅
README.md
文件。 - 将Native PIO库提取或复制到项目的根目录中。
-
将设备连接到开发机器,并运行示例模块之一:闪烁,按钮或扬声器。
- In Android Studio:
通过运行按钮在下拉菜单中选择模块,然后单击
运行
按钮。 -
On the command line:从您的项目根目录运行以下命令:
./gradlew [blink|button|speaker]:installDebug adb shell am start com.example.androidthings.nativepio/android.app.NativeActivity
- In Android Studio:
通过运行按钮在下拉菜单中选择模块,然后单击