1. 下载CAN驱动
周立功官网:https://www.zlg.cn/#搜索“CAN驱动”
https://www.zlg.cn/Index/Search/search?selc=all&key=can%E9%A9%B1%E5%8A%A8
在CAN驱动合集中选择对应CAN盒的Linux系统驱动进行下载
例如,我使用的是双通道的USBCAN-II型号CAN盒,对应就选择右边的Linux驱动下载:
需要注意的是目前只有CANFD类型的才提供aarch64系统的驱动,CAN卡驱动没有aarch64系统。
2. Linux环境使用CAN驱动
双通道的USBCAN-II型号CAN盒下载下面的驱动文件如下所示:
usbcan_ii_libusb_x64文件夹内部包含文件如下:
controlcan.h:定义了 USBCAN 设备的接口(函数声明、数据结构等)。
test.c:使用了 controlcan.h 中定义的函数和数据结构,实现了具体的 CAN 通信逻辑,包含了设备的打开、初始化、数据发送和接收等功能。
如果你是在 ARM64 架构上使用CAN驱动,你需要重新编译.so文件为 ARM64 架构可用的文件。重新编译.so除了controlcan.h 文件,还需要controlcan.c文件。controlcan.c文件是实际实现 controlcan.h 中声明的函数的代码。没有 controlcan.c,你无法生成真正的 .so 文件,因为 .so 文件需要包含这些函数的具体实现。
usbcan.py文件给出了利用libusbcan.so文件进行二次开发的实际例子。