☰
CAN 开源库大全(嵌入式/上位机,适配STM32、Linux、Qt,附带Github地址)
2026/10/14 16:24:55 网站建设 项目流程

一、嵌入式底层CAN库(MCU端,STM32/H7常用)

1. bxCAN(ST官方HAL库自带)

地址:ST HAL库内置

说明:STM32片上CAN外设标准驱动,bxCAN,支持CAN2.0A/B,不用额外移植,H7直接可用;缺点只支持传统CAN,不支持CAN FD。

2. CAN FD Driver for STM32

地址:https://github.com/STMicroelectronics/STM32CubeH7

说明:STM32H7自带CAN FD外设官方驱动,支持CAN FD,工程直接在CubeMX生成。

3. libcanard

地址:https://github.com/UAVCAN/libcanard

说明:UAVCAN协议栈,嵌入式轻量CAN应用层,无人机/机器人常用,C语言,资源占用小,支持CAN2.0。

4. canfestival

地址:https://github.com/CanFestival/canfestival

说明:经典CANopen协议栈,工业设备最常用,C语言,支持主站/从站,可跑在STM32、Linux,适合工业传感器。

二、Linux上位机CAN库(SocketCAN)

1. socketcan-utils

地址:https://github.com/linux-can/can-utils

说明:Linux原生SocketCAN工具集,cansend/candump/canutils,命令行调试必备。

2. libsocketcan

地址:https://github.com/linux-can/libsocketcan

说明:SocketCAN C封装库,简化Linux下CAN读写开发。

三、Qt / C++ 上位机CAN库(适合你做QT历险记)

1. QCanBus(Qt官方内置)

地址:Qt框架自带(QtSerialBus模块)

说明:Qt原生CAN组件!支持SocketCAN、PEAK、Vector等适配器,C++,Qt项目直接引入,做上位机首选。

2. CANoe-API Wrapper(第三方封装)

地址:https://github.com/ruisheng4949/CANWrapper

说明:C++封装,适配多种CAN适配器。

四、Python CAN库(快速仿真、测试脚本)

1. python-can

地址:https://github.com/hardbyte/python-can

说明:跨平台,支持SocketCAN、PEAK、PCAN,写测试脚本首选。

五、补充选型速记卡片文字(放9:16图片)

CAN开源库选型

✅ STM32底层:HAL bxCAN(CAN2.0)、ST官方H7 CANFD驱动

✅ 工业协议:CanFestival(CANopen)、libcanard(UAVCAN)

✅ Linux上位:socketcan + libsocketcan

✅ Qt上位机:QCanBus(QtSerialBus)

✅ Python测试:python-can

⚠️区分:底层驱动(收发报文) vs 应用层协议(CANopen/UAVCAN)

底层只是收发原始CAN报文;应用层定义数据解析规则。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询