Files

30 lines
1.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# App/sync/ — 时间同步
> 墙钟时间与外部时间源的同步(timeSyncTask)。墙钟本身由 `../util/sys_clock.c` 维护,
> 本目录负责**从时间源拉取/接收时间并校准**。
## 文件一览
| 文件 | 作用 |
|---|---|
| `time_sync.c/h` | **时间同步任务**:等待网络就绪 → 与时间源交互 → 校准墙钟 |
## 工作流
```
timeSyncTask 启动
↓ osEventFlagsWait(SYS_EVT_NET_READY, ...|osFlagsNoClear) // 状态位不可消费!
time_sync 主循环 → 与时间源通信 → sys_clock 校准
↓
置 SYS_EVT_TIMESYNC_READY
```
> ⚠️ 等待**就绪位**(`SYS_EVT_NET_READY`)必须 `osFlagsNoClear`——它是状态位,
> 用默认消费型等待会把它清掉,导致后续消费者(如 ftpTask)永远等不到。
## 相关文档
- `docs/子系统设计/系统墙钟时间维护说明.md` — 墙钟基准 / tick 回绕防护
- `test/host/time_sync_server.py` — PC 端对时推送服务(测试用)
- `docs/架构设计/项目启动顺序管理.md` — 就绪屏障