TOP-iMX6开发板的 Android 源码的 can 例程包含在 Android 源码中,在“ packages/apps/”目 录下,如下图所示,这个是应用界面的源码。
如下图所示,can 的硬件抽象层是“device/fsl/topeet_6dq/libcan/”文件。
其中最主要的源码文件是上图的“canHardware.c”,打开文件简单分析。 如下图所示,是初始化代码接口。
如下图所示,可以发现它使用的是类似“ifconfig can0 up”的命令实现 can 的开启和关 闭。
剩下的重要的 jni 接口,如下所示。 JNIEXPORT jint JNICALL Java_can_hardware_hardwareControl_canWrite 这是 can 的发送接口。 JNIEXPORT jobject JNICALL Java_can_hardware_hardwareControl_canRead can 的接收接口。 JNIEXPORT void JNICALL Java_can_hardware_hardwareControl_closeCan can 的关闭接口。 如上分析可知,jni 的接口已经将 can 的初始化、发送、接收和关闭做了封装,只需要我 们在 Android 中调用即可。 具体调用方法可以参考用户手册的第十章和 jin 相关的部分。
|