hotwind 发表于 2013-3-1 10:05:36

finsh RT1.1.0的基础三问

设置开启finsh功能
输入list(),显示出整个finsh各命令,按照提示的命令输入 hello,并没有输出相应的hello ,RT thread!.而是两组数据,昨天晚上没有截图,数据形式大致是
12323232, 12334444
输入其它命令也是相似格式的数据,但是数值并不相同。

对finsh的实现不了解,看了下文章讲是 语法分析 方法分析中间代码生成 等等,还是看不清。

如果以 hello 为例。
当我在puttyh 键入hello时 当然是最终按enter键前,我们可能是输入 h e a 删除键 e l l o 再按enter键。那此时串口1会将所有的按键值存入到 一个缓冲区。然后finsh再从这个缓冲区读入,经过一个规则,识别到用户最终的意图是输入hello,并且按照hello的程序输出 hello ,RT thread!.。

以上是我的分析过程,
Q1: 我的分析过程是否正确,中间是否有遗漏的关键过程》
Q2: 上面数据输出 12323232, 12334444而不是 hello ,RT thread!的原因。
Q3    编程批南里的语法分析 方法分析 中间代码生成 等等 分别对应 hello这个例子的哪些过程?

li3p 发表于 2013-3-1 10:15:05

记得加括号:hello()

zchong 发表于 2013-3-1 10:16:03

c语言风格的命令才行

hotwind 发表于 2013-3-1 10:19:54

li3p 发表于 2013-3-1 10:15 static/image/common/back.gif
记得加括号:hello()

{:cry:}
我对不起观众
那其它的两问呢

hotwind 发表于 2013-3-1 10:20:49

zchong 发表于 2013-3-1 10:16 static/image/common/back.gif
c语言风格的命令才行

谢谢,其它的两问还是没有明白

aozima 发表于 2013-3-1 10:42:29

你确认你有认真看 编程指南 ?

hotwind 发表于 2013-3-1 11:03:35

aozima 发表于 2013-3-1 10:42 static/image/common/back.gif
你确认你有认真看 编程指南 ?

12.2的工作模式
页: [1]
查看完整版本: finsh RT1.1.0的基础三问