From 1220f5167384767317cc1ab56b24049cb4fa7163 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=91=E9=A9=AC=E5=B0=8F=E4=B9=8C=E9=BE=9F?= <532352406@qq.com> Date: Mon, 4 Mar 2024 14:05:58 +0000 Subject: [PATCH 1/2] update README.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 黑马小乌龟 <532352406@qq.com> --- README.md | 14 ++++++++++++-- docs/prgram_flowchart.png | Bin 0 -> 103025 bytes 2 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 docs/prgram_flowchart.png diff --git a/README.md b/README.md index db6ed97..3035e79 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,18 @@ #### 软件架构 -软件架构说明 - +- 这里是列表文本本项目使用的软件架构为本人自行开发,此软件架构的核心是所有的功能模块被独立分开,模块与模块之间以消息的方式进行数据耦合,各种模块维护各自模块的状态,本着以功能内聚大,以数据耦合为主,尽量不使用逻辑耦合,或者直接修改对方数据的方式。 +- 这里是列表文本如下是程序框架图,下面对部分模块进行简要说明,详细的大家可以看看源代码,如有不明白的地方欢迎大家留言讨论: +![软件框图](docs/prgram_flowchart.png) +- **mcu_os:** +  核心是mcu_os部分,这部分实现了消息处理,任务调度,内存管理等功能,本项目中的usr_main_app、usr_input_task、 +  usr_display_task几个功能任务模块就是居于此基础之上进行消息传递,实现系统UI的各个功能需求。 +- **usr_display_task:** +  负责接收来自usr_main_app发来的一些状态信息,在LCD屏幕上实现各种界面显示。 +- **usr_main_app:** +  负责接收来自usr_input_task发出的用户输入事件,对用户输入事件进行响应,并把一些状态信息发送给usr_display_task +- **usr_input_task:** +  负责调用驱动层的io_key,读取io_key状态信息,生成按键事件并把按键事件发送给usr_main_app #### 安装教程 diff --git a/docs/prgram_flowchart.png b/docs/prgram_flowchart.png new file mode 100644 index 0000000000000000000000000000000000000000..c5ad137879fc6dbc3623c9e87357bc91abdffa86 GIT binary patch literal 103025 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�TV$qqX(&?Jb>pXDYK8n zy(4HLD&wlkzsUEf(orCcdeM3Uko)583D$z}X7cA78U_L(g!2r^b!P)F$5U^17y7Kc zo_{j-V&9dq?v~us$1L&L7>=b%F+d

4=OKxil?Q!4m&a&9??zlpv&8;iefP$BQdL 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 B=HUPU literal 0 HcmV?d00001 From 7766347570ba19bace55b7410f78dc75ddb7fc82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=91=E9=A9=AC=E5=B0=8F=E4=B9=8C=E9=BE=9F?= <532352406@qq.com> Date: Mon, 4 Mar 2024 14:07:26 +0000 Subject: [PATCH 2/2] update README.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 黑马小乌龟 <532352406@qq.com> --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3035e79..f5fe439 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,8 @@ #### 软件架构 -- 这里是列表文本本项目使用的软件架构为本人自行开发,此软件架构的核心是所有的功能模块被独立分开,模块与模块之间以消息的方式进行数据耦合,各种模块维护各自模块的状态,本着以功能内聚大,以数据耦合为主,尽量不使用逻辑耦合,或者直接修改对方数据的方式。 -- 这里是列表文本如下是程序框架图,下面对部分模块进行简要说明,详细的大家可以看看源代码,如有不明白的地方欢迎大家留言讨论: +- 本项目使用的软件架构为本人自行开发,此软件架构的核心是所有的功能模块被独立分开,模块与模块之间以消息的方式进行数据耦合,各种模块维护各自模块的状态,本着以功能内聚大,以数据耦合为主,尽量不使用逻辑耦合,或者直接修改对方数据的方式。 +- 如下是程序框架图,下面对部分模块进行简要说明,详细的大家可以看看源代码,如有不明白的地方欢迎大家留言讨论: ![软件框图](docs/prgram_flowchart.png) - **mcu_os:**   核心是mcu_os部分,这部分实现了消息处理,任务调度,内存管理等功能,本项目中的usr_main_app、usr_input_task、