# RTU_ALL_AI API 参考文档 > 生成日期: 2026-07-07 > 项目: RTU_ALL_AI — C/C++ 嵌入式通讯装置示例工程 --- ## 文档索引 ### 基础公共库 (public/) | 模块 | 文档 | 语言 | 说明 | |------|------|------|------| | myBase.h | [API-myBase.md](public/API-myBase.md) | C 头文件 | 公共宏、类型常量、字节序转换 | | liblist | [API-liblist.md](public/liblist/API-liblist.md) | 纯 C 头文件 | 侵入式双向循环链表 | | liblog | [API-liblog.md](public/liblog/API-liblog.md) | 纯 C | 异步日志系统 | | libfunc | [API-libfunc.md](public/libfunc/API-libfunc.md) | 纯 C | 65 个基础工具函数 | | libmd5 | [API-libmd5.md](public/libmd5/API-libmd5.md) | 纯 C | MD5 消息摘要 (RFC 1321) | | libtask | [API-libtask.md](public/libtask/API-libtask.md) | 纯 C | 定时器 + 事件 + 消息队列 | | libdatacenter | [API-libdatacenter.md](public/libdatacenter/API-libdatacenter.md) | C 接口+C++ 内部 | 信号数据中心(5种信号+事件队列) | | libcJSON | [API-libcJSON.md](public/libcJSON/API-libcJSON.md) | 纯 C (开源库) | JSON 解析/生成 | | libmy_xxhash | [API-libmy_xxhash.md](public/libmy_xxhash/API-libmy_xxhash.md) | 纯 C (开源库) | xxHash 快速哈希 | | libxml | [API-libxml.md](public/libxml/API-libxml.md) | C 接口+C++ 内部 | XML 解析(C接口包裹 tinyxml2) | | libcmd | [API-libcmd.md](public/libcmd/API-libcmd.md) | C 接口+C++ 内部 | 命令注册/补全 + 内置 linenoise | | libcomm | [API-libcomm.md](public/libcomm/API-libcomm.md) | C 接口+C++ 内部 | TCP/UDP/UART 通讯抽象层 | ### 通讯与协议库 (protocol/) | 模块 | 文档 | 语言 | 说明 | |------|------|------|------| | libmodbus | [API-libmodbus.md](protocol/libmodbus/API-libmodbus.md) | C (开源库) | Modbus 协议栈 v3.1.12 | | lib60870 | [API-lib60870.md](protocol/lib60870/API-lib60870.md) | C (自研) | IEC 60870-5-101/103/104 协议栈 | | libicp67 | [API-libicp67.md](protocol/libicp67/API-libicp67.md) | 纯 C | ICP67 自定义协议(帧解析+编解码+核心逻辑) | | libmongoose | [API-libmongoose.md](protocol/libmongoose/API-libmongoose.md) | C (MIT 开源) | HTTP/WebSocket 嵌入式网络库 v7.22 | ### 系统模块 (system/) | 模块 | 文档 | 语言 | 说明 | |------|------|------|------| | RTU | [API-RTU.md](system/RTU/API-RTU.md) | C + C++ | 主程序入口、X-Macro 框架、模块生命周期 | | libiec | [API-libiec.md](system/libiec/API-libiec.md) | C 接口+C++ 内部 | IEC-104 服务端(26回调+环形缓冲+数据中心桥接) | | libcom_router | [API-libcom_router.md](system/libcom_router/API-libcom_router.md) | C++ | 通信路由中枢(转发规则+协议绑定 dispatch) | | libmodbus_m | [API-libmodbus_m.md](system/libmodbus_m/API-libmodbus_m.md) | C++ | Modbus 主站管理(通道/点表/轮询/写入) | | libself_ptl | [API-libself_ptl.md](system/libself_ptl/API-libself_ptl.md) | C++ | 内部自定义协议应用层(多FTU帧组装+文件操作) | | libweb_server | [API-libweb_server.md](system/libweb_server/API-libweb_server.md) | C++ | Web 管理服务(HTTP + WebSocket 实时推送) | ``` ┌──────────┐ │ myBase.h │ (颜色/大小端/类型常量) └────┬─────┘ ┌──────────────┼──────────────┐ ▼ ▼ ▼ ┌─────────┐ ┌─────────┐ ┌──────────┐ │ liblist │ │ libfunc │ │ libmd5 │ │ (链表) │ │ (65函数)│ │ (MD5) │ └────┬────┘ └────┬────┘ └──────────┘ │ │ ▼ ▼ ┌─────────────────────────┐ │ liblog │ (异步日志) │ (消息池+批量+文件轮转) │ └─────────────────────────┘ ┌──────────┐ ┌──────────────┐ │ libcJSON │ │ libmy_xxhash │ (开源库) └──────────┘ └──────┬───────┘ │ ┌─────────────────────┼─────────────────────┐ │ ▼ │ │ ┌──────────┐ ┌──────────┐ ┌─────────┐ │ │ │ libtask │ │ libxml │ │ libcmd │ │ (P2库提前实现 │ │ (事件/ │ │ (C接口+ │ │ (命令 │ │ 供datacenter │ │ 定时器) │ │ tinyxml2)│ │ 框架) │ │ 依赖) │ └──────────┘ └────┬─────┘ └────┬────┘ │ │ │ │ │ │ ▼ ▼ │ │ ┌─────────────────────────────┐ │ │ │ libdatacenter │ │ │ │ (信号数据中心 5种信号类型) │ │ │ │ 依赖: libxml + libcmd │ │ │ │ + libmy_xxhash │ │ └──────────┴─────────────────────────────┘ ┌──────────┐ │ myBase.h │ └────┬─────┘ │ ▼ ┌──────────────────┐ │ libcomm │ (通讯抽象层) │ TCP/UDP/UART │ 阶段 2 首个模块 │ epoll 异步事件 │ └────┬───┬────┬────┘ │ │ │ ┌──────────┼───┘ └──────────┐ ▼ ▼ ▼ ┌──────────┐ ┌──────────┐ ┌────────────┐ │libmodbus │ │lib60870 │ ... │libweb_server│ (协议栈) │ (Modbus) │ │(IEC104) │ │ (Web 管理) │ └──────────┘ └──────────┘ └────────────┘ ``` ### 构建与编译 ```bash cd release ./build.sh # x86 本地编译 ./build.sh arm # ARM 交叉编译 ``` ### 编码规范 详见项目内存 `/memories/code-style.md`: - 一行一语句,`{}` 独占行,`}` 后空行,`return` 前空行 - 运算符前后空格(`a + b`, `x << 8`),逗号分号后空格 - 结构体 `stru_` 前缀,枚举 `enum_` 前缀 - 注释使用 UTF-8 中文