2

这是我关于 stackoverflow 的第一个问题,尽管我是这个问题解决源的持续读者。

无论如何,这是我面临的问题:

我正在尝试用总线 SPI 连接两个评估板:

  • 第一个(数据源)模拟触摸屏,是一个 Linux 发行版(现在:Raspbian)。
  • 第二个是嵌入式Android。

我想通过 SPI 连接这两个并从 Linux 向 Android 发送触摸序列(根据多点触控协议(https://www.kernel.org/doc/Documentation/input/multi-touch-protocol .txt ))。spidev 已启用,但我不知道如何“执行”我将收到的触摸。

据我所知:我不能使用 Android 输入设备(https://source.android.com/devices/input/input-device-configuration-files.html),因为它不能依赖 SPI 通信。那么我必须在linux内核中创建一个驱动程序吗?在这种特殊情况下,“最佳实践”是什么?

在此先感谢您,您可能会节省我的实习机会 :)

4

1 回答 1

1

如果您的 Android Linux 内核设置为公开 /dev/spidev(或者您可以在内核中进行设置),则您不必创建 Linux 内核模块。您可以通过在 c/c++ 中编写 NDK 包装器从 Android 访问 /dev/spidev。我已经做到了,并且有效。我建议您从编写一个小型 c 程序开始,该程序配置和打开 /dev/spidev spi 通道,并发送/接收一些测试数据。如果可行,请将 c 程序重写为可以从 Android 程序访问的 NDK 包装器库。

这假设 Android 应用程序是您自己编写的应用程序。如果您想让触摸事件一般可用于 Android,我认为您需要编写一个触摸驱动程序作为内核模块。

于 2016-04-22T07:37:49.960 回答