# 快速参考 - 整理后的项目结构

## 📂 目录说明

### 源代码 (`src/`)
```
src/
├── can/                          # CAN 通信模块
│   ├── CANController.h          # CAN 控制器头文件
│   ├── CANController.cpp        # CAN 控制器实现
│   ├── can_example.cpp          # 基础示例
│   └── can_complete_example.cpp # 完整示例（推荐）
│
├── tests/                        # 测试代码
│   └── test_csv_load.cpp        # CSV 加载测试
│
└── (其他源文件)                  # AGV 主程序源文件
```

### 头文件 (`include/`)
```
include/
└── can/
    └── CANController.h          # CAN 控制器头文件
```

### 文档 (`docs/`)
```
docs/
├── can/                         # CAN 相关文档
│   ├── CAN_README.md           # CAN 使用说明（重要）
│   └── CAN_API_Reference.cpp   # API 快速参考
│
├── guides/                      # 使用指南
│   ├── START_HERE.txt          # 从这里开始
│   ├── QUICK_START.md          # 快速入门
│   ├── BUILD_INSTRUCTIONS.md   # 编译说明
│   └── ...
│
├── fixes/                       # 修复记录
│   ├── ALL_FIXES_SUMMARY.md    # 所有修复总结
│   ├── FINAL_REPORT.md         # 最终报告
│   └── ...
│
├── custom_path/                 # 自定义路径文档
└── protocol/                    # 协议文档
    └── CAN_Protocol.pdf        # CAN 协议规范
```

### 库文件 (`lib/`)
```
lib/
├── ControlCAN.h                 # CAN API 头文件
├── ControlCAN.dll               # CAN 驱动动态库
├── ControlCAN.lib               # 导入库
└── README.md                    # 库说明
```

## 🚀 常用操作

### 编译 CAN 示例
```bash
# Windows
build_can.bat

# Linux/MSYS2
./build_can.sh
```

### 运行 CAN 示例
```bash
cd build
./can_demo.exe
```

### 编译主程序
```bash
./build.sh
```

## 📖 重要文档路径

| 文档 | 路径 | 说明 |
|------|------|------|
| 项目结构 | `PROJECT_STRUCTURE.md` | 完整项目结构文档 |
| CAN 使用说明 | `docs/can/CAN_README.md` | CAN 通信详细说明 |
| CAN API 参考 | `docs/can/CAN_API_Reference.cpp` | API 快速参考卡片 |
| 快速开始 | `docs/guides/START_HERE.txt` | 新手入门指南 |
| 编译说明 | `docs/guides/BUILD_INSTRUCTIONS.md` | 编译步骤 |
| 修复总结 | `docs/fixes/ALL_FIXES_SUMMARY.md` | 所有修复记录 |
| 主 README | `README.md` | 项目主文档 |

## 🔧 开发流程

### 1. 添加新的 CAN 功能
```bash
# 1. 创建源文件
vi src/can/my_feature.cpp

# 2. 创建头文件
vi include/can/my_feature.h

# 3. 更新编译脚本
vi build_can.sh

# 4. 添加文档
vi docs/can/my_feature.md
```

### 2. 头文件引用
在源文件中引用头文件：
```cpp
// 在 src/can/ 下的源文件
#include "can/CANController.h"      // 引用 include/can/CANController.h
#include "../../lib/ControlCAN.h"   // 引用 lib/ControlCAN.h
```

### 3. 编译选项
```bash
# 编译时指定 include 路径
g++ -c src/can/CANController.cpp -o build/CANController.o -Iinclude -Llib -lControlCAN
```

## 📝 文件移动记录

### 已整理的文件

**移动到 docs/can/**
- CAN_README.md
- CAN_API_Reference.cpp

**移动到 docs/guides/**
- QUICK_START.md
- QUICKSTART.md
- BUILD_INSTRUCTIONS.md
- CUSTOM_PATH_README.md
- SMOOTH_PATH_GENERATOR_README.md
- TRACKING_TEST_GUIDE.md
- START_HERE.txt

**移动到 docs/fixes/**
- ALL_FIXES_SUMMARY.md
- BUG_FIXES_SUMMARY.md
- CSV_LOAD_FIX.md
- FIX_SUMMARY.md
- README_FIXES.md
- TRACKING_ERROR_ANALYSIS.md
- TRACKING_FIX_COMPLETE.md
- TRAJECTORY_COMPLETE.md
- TRAJECTORY_FIX.md
- FINAL_REPORT.md

**移动到 src/can/**
- CANController.cpp
- CANController.h
- can_example.cpp
- can_complete_example.cpp

**移动到 src/tests/**
- test_csv_load.cpp

**复制到 include/can/**
- CANController.h

## 🎯 下一步建议

1. ✅ 查看 `PROJECT_STRUCTURE.md` 了解完整结构
2. ✅ 阅读 `docs/can/CAN_README.md` 学习 CAN 通信
3. ✅ 运行 `build_can.bat` 编译示例
4. ✅ 执行 `build/can_demo.exe` 测试功能
5. ✅ 根据需要查看 `docs/guides/` 中的其他文档

---

**整理完成时间**: 2025-11-14
**整理内容**: 所有文档归类到 docs/，所有代码归类到 src/，头文件复制到 include/
