Преглед изворни кода

docs: 明确代码整合的两层级结构 — code/归档 + md嵌入核心示例

OpenCode пре 5 дана
родитељ
комит
8085950cdf
1 измењених фајлова са 34 додато и 16 уклоњено
  1. 34 16
      docs/如何将他人文档整理为LLM-Wiki笔记.md

+ 34 - 16
docs/如何将他人文档整理为LLM-Wiki笔记.md

@@ -339,26 +339,44 @@ git commit -m "<类型>: <摘要>"
 
 ## 8. 代码整合规范
 
-### 8.1 核心原则
+### 8.1 两层级结构
 
-**不要把整个代码项目复制到笔记中**。而是:
+```
+code/                      # 第一层:完整工程归档(只存不改)
+├── 09_消息队列/
+│   └── Core/Src/freertos_demo.c
+
+07-消息队列与队列集.md       # 第二层:嵌入提取的核心代码
+```
 
-1. 读 `freertos_demo.c`(或 `main.c`)提取核心示例
-2. 只保留关键代码段,删除重复的模板代码(任务配置、启动调度器等重复部分只保留一次)
-3. 每段代码必须有**通俗解释**(可以举生活中的例子)
-4. 复杂概念必须配**通俗类比**,确保小白能看懂
+- **`code/`** — 原始工程完整复制,作为可编译参考
+- **`.md` 笔记** — 从 `freertos_demo.c` 中提取**核心完整示例**,嵌入文档正文中
 
-### 8.2 代码项目组织
+### 8.2 嵌入原则
 
-原始代码项目(文件夹)整体复制到 `code/` 子目录,笔记中通过相对路径引用:
-```
-raw/Joplin/嵌入式+Linux/FreeRTOS学习笔记/
-├── code/
-│   ├── 09_消息队列/          ← 完整工程代码
-│   ├── 10_二值信号量/
-│   └── ...
-├── 07-消息队列与队列集.md    ← 只嵌入核心代码段
-└── 08-信号量与互斥信号量.md
+**不要直接复制整个文件到笔记中**。提取核心示例时:
+
+1. 读 `freertos_demo.c`(或 `main.c`)找到核心演示逻辑
+2. 提取完整的函数/代码块作为示例(可独立运行理解)
+3. 删除重复的模板代码(任务配置宏定义、启动调度器等通用部分只写一次)
+4. 每段代码必须有**通俗解释**(举生活中例子)
+5. 复杂概念必须配**通俗类比**,确保小白能看懂
+
+示例(笔记中的代码段):
+```c
+// ========== 核心示例:发送消息 ==========
+// 保留了完整函数体,删除了任务创建等模板部分
+void task1(void *pvParameters) {
+    uint8_t key = 0;
+    while (1) {
+        key = Key_Detect();
+        if (key == KEY1_PRESS) {
+            xQueueSend(queue1, &key, portMAX_DELAY);
+            // portMAX_DELAY = 队列满了就死等
+        }
+        vTaskDelay(500);
+    }
+}
 ```
 
 ### 8.3 嵌入式代码注意事项