TOP-iMX6開發板的 Android 源碼的 can 例程包含在 Android 源碼中,在“ packages/apps/”目 錄下,如下圖所示,這個是應用界面的源碼。
01.jpg (13.34 KB, 下載次數: 43)
下載附件
2019-3-11 10:11 上傳
如下圖所示,can 的硬件抽象層是“device/fsl/topeet_6dq/libcan/”文件。
02.jpg (12.2 KB, 下載次數: 39)
下載附件
2019-3-11 10:11 上傳
其中最主要的源碼文件是上圖的“canHardware.c”,打開文件簡單分析。 如下圖所示,是初始化代碼接口。
03.jpg (16.34 KB, 下載次數: 45)
下載附件
2019-3-11 10:11 上傳
如下圖所示,可以發現它使用的是類似“ifconfig can0 up”的命令實現 can 的開啟和關 閉。
04.jpg (30.66 KB, 下載次數: 45)
下載附件
2019-3-11 10:11 上傳
剩下的重要的 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 相關的部分。
|