From 596bfd114a0f1eaf6cfc865aef2580896cd51140 Mon Sep 17 00:00:00 2001 From: Yan_yan Date: Wed, 11 Nov 2020 18:02:14 +0800 Subject: [PATCH] add component/humancomputer.md --- docs/doc/component/humancompter.md | 42 ++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/docs/doc/component/humancompter.md b/docs/doc/component/humancompter.md index 032f255..8e4dc41 100644 --- a/docs/doc/component/humancompter.md +++ b/docs/doc/component/humancompter.md @@ -1,2 +1,44 @@ # 人机交互 +## tshell + +### shell 简介 + + +从计算机诞生到现在,shell一直是开发和管理人员与系统交互的重要工具,在嵌入式产品上,由于缺少图像设备,shell 更是唯一的选择。 + +人机交互最关键的就是交互信息的自动输入,tshell从标准输入中读入,直至遇到EOF分界符。tshell将分界符EOF之后直至下一个同样的分界符之前的所有内容都作为输入。 + +### tshell 设计方案 + +shell的运行过程: +* 在命令行输入命令 +* shell对命令进行解析 +* 执行相应的操作。 + +建立一个命令与函数的一一对应的关系,定义结构体。 +根据定义建立一个表,将所有的命令以及对应的函数进行声明 +获得输入的命令,并将其和命令表中的命令进行匹配,然后执行相应的函数 + +使用串口进行命令的输入和输出,在输入命令并回车之后,程序解析命令,根据空格将输入分开为命令和参数,对命令进行匹配,匹配到命令之后,执行函数。伪代码如下: +```c +#define TRUE 1 + +while(TRUE) {                  /* repeat forever */ +  type_prompt();               /* display prompt on the screen */ +  read_command(command,parameters);    /* read input from terminal */ +  execve(command,parameters,0);     /* execute command */ +} +``` +### 总结 +与linux的bash、csh 等相比,我们实现的tshell比较简洁,不能执行shell脚本,没有编写完整解释器的缘故,不支持正则表达式等高端的功能。优点是资源占用率低,对串口的兼容性较好。 + + +## LittlevGL + +随着智能家用电器、智能手环、手表等物联网智能设备的普及,嵌入式系统对GUI的界面需求也越来越高。基于此背景,XiUOS集成了开源图形库LittlevGL开发框架,提供创建嵌入式GUI所需的一切。目前XiUOS已经支持KD233开发板。 + +LittlevGL是一个基于MIT协议的免费开源图形库,具有易于使用的图形元素、漂亮的视觉效果和低内存占用,它支持常用的控件,如按钮、图表、列表、滑块、图像等,并且支持触摸、鼠标、键盘等多种输入方式。更多特性访问官方网址:[https://littlevgl.com/](https://littlevgl.com/)。 + + +