libs/can_api/include/lib_emuc_2.hlibs/can_api/lib/lib_emuc2_64.asrc/can_manager/can_manager.h/cpp)
SerialManager 的设计模式SoftBusCore 进行数据存储和消息路由src/view_can/can_data_widget.h/cpp/ui)
SerialDataWidget 的设计src/view_can/viewcan.h/cpp/ui)
ViewSerial 的设计CMakeLists.txt
lib_emuc2_64.a)soft_bus/
├── libs/
│ └── can_api/
│ ├── include/
│ │ └── lib_emuc_2.h # CAN API头文件
│ └── lib/
│ └── lib_emuc2_64.a # CAN API静态库
│
├── src/
│ ├── can_manager/
│ │ ├── can_manager.h # CAN管理器头文件
│ │ └── can_manager.cpp # CAN管理器实现
│ │
│ └── view_can/
│ ├── viewcan.h # CAN视图头文件
│ ├── viewcan.cpp # CAN视图实现
│ ├── viewcan.ui # CAN视图UI
│ ├── can_data_widget.h # CAN数据组件头文件
│ ├── can_data_widget.cpp # CAN数据组件实现
│ └── can_data_widget.ui # CAN数据组件UI
│
└── CMakeLists.txt # 已更新,包含CAN相关配置
cd /home/dt/myCode/bus/soft_bus/soft_bus
mkdir -p build && cd build
cmake ..
make
需要在 mainwindow.cpp 中添加CAN视图的创建和切换逻辑,参考串口视图的实现。
CanManager 会自动发现可用的EMUC设备CanManager::setCanConfig() 设置波特率、模式等CanManager 使用互斥锁保护共享数据| 特性 | SerialManager | CanManager |
|---|---|---|
| 设备发现 | 串口扫描 | EMUC设备扫描 |
| 数据格式 | 任意长度 | 最多8字节 |
| 标识符 | 端口名 | CAN ID + 端口名 |
| 接收方式 | Qt信号槽 | 独立线程 |
| 配置项 | 波特率、校验位等 | 波特率、模式、过滤器等 |
SerialSettingsWidget 的CAN配置界面/home/dt/EMUC2_CAN_API_V2.0.0_Linux/EMUC2_CAN_API_V2.0.0_Linux/CAN_API_使用指南.md/home/dt/EMUC2_CAN_API_V2.0.0_Linux/EMUC2_CAN_API_V2.0.0_Linux/Sample_EMUC2/main.c