PS:知识储备:
关于函数指针的帖子:
http://blog.youkuaiyun.com/wj_1986/article/details/6567545/
关于函数指针的视频:
尹成老师的,清华大牛,讲得十分有趣
http://edu.youkuaiyun.com/course/detail/1132/17619?auto_start=1
uSmart是正点原子写的一种类似linux下的shell的代码,由于内置了大量的函数指针,结构体变量,所以,在文章的开始,我先对结构体指针的类型,大小,使用,进行了一个十分详尽的资料引用,一定要看啊~~
USMART 的特点如下:
1, 可以调用绝大部分用户直接编写的函数。
2, 资源占用极少(最少情况: FLASH:4K; SRAM:72B)。
3, 支持参数类型多(数字(包含 10/16 进制)、字符串、函数指针等)。
4, 支持函数返回值显示。
5, 支持参数及返回值格式设置。
6, 支持函数执行时间计算( V3.1 版本新特性)。
7, 使用方便。
USMART 的实现流程简单概括就是:
第一步,添加需要调用的函数(在 usmart_config.c 里
面的 usmart_nametab 数组里面添加);
第二步,初始化串口;
第三步, 初始化 USMART(通过
usmart_init 函数实现);
第四步, 轮询 usmart_scan 函数,处理串口数据。
初始化:
不同的芯片有着不同的usmart的代码,下载时候要注意一下
还有一个要注意的地方,在注册函数时,函数必须是你已经写在工程中的才可以放心使用
USMART有7个系统命令:
?: 获取帮助信息
help: 获取帮助信息
list: 可用的函数列表
id: 可用函数的ID列表
hex: 参数16进制显示,后跟空格+数字即执行进制转换
dec: 参数10进制显示,后跟空格+数字即执行进制转换
runtime 1,开启函数运行计时;0,关闭函数运行计时;
请按照程序编写格式输入函数名及参数并以回车键结束.