|
TOP-iMX6開發(fā)板的 Android 源碼的 can 例程包含在 Android 源碼中,在“ packages/apps/”目
錄下,如下圖所示,這個是應(yīng)用界面的源碼。
01.png (24.49 KB, 下載次數(shù): 84)
下載附件
2019-3-13 10:26 上傳
如下圖所示,can 的硬件抽象層是“device/fsl/topeet_6dq/libcan/”文件。
02.png (22.45 KB, 下載次數(shù): 72)
下載附件
2019-3-13 10:26 上傳
其中最主要的源碼文件是上圖的“canHardware.c”,打開文件簡單分析。
如下圖所示,是初始化代碼接口。
03.png (44.83 KB, 下載次數(shù): 82)
下載附件
2019-3-13 10:26 上傳
如下圖所示,可以發(fā)現(xiàn)它使用的是類似“ifconfig can0 up”的命令實現(xiàn) can 的開啟和關(guān)
閉。
04.png (96.31 KB, 下載次數(shù): 78)
下載附件
2019-3-13 10:26 上傳
剩下的重要的 jni 接口,如下所示。
JNIEXPORT jint JNICALL Java_can_hardware_hardwareControl_canWrite
這是 can 的發(fā)送接口。
JNIEXPORT jobject JNICALL Java_can_hardware_hardwareControl_canRead
can 的接收接口。
JNIEXPORT void JNICALL Java_can_hardware_hardwareControl_closeCan
can 的關(guān)閉接口。
如上分析可知,jni 的接口已經(jīng)將 can 的初始化、發(fā)送、接收和關(guān)閉做了封裝,只需要我
們在 Android 中調(diào)用即可。
具體調(diào)用方法可以參考用戶手冊的第十章和 jin 相關(guān)的部分。
---
|
|