CAN 开源库大全(嵌入式/上位机,适配STM32、Linux、Qt,附带Github地址)
一、嵌入式底层CAN库MCU端STM32/H7常用1. bxCANST官方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库SocketCAN1. 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. QCanBusQt官方内置地址Qt框架自带QtSerialBus模块说明Qt原生CAN组件支持SocketCAN、PEAK、Vector等适配器CQt项目直接引入做上位机首选。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 bxCANCAN2.0、ST官方H7 CANFD驱动✅ 工业协议CanFestivalCANopen、libcanardUAVCAN✅ Linux上位socketcan libsocketcan✅ Qt上位机QCanBusQtSerialBus✅ Python测试python-can⚠️区分底层驱动收发报文 vs 应用层协议CANopen/UAVCAN底层只是收发原始CAN报文应用层定义数据解析规则。