1. 简述
USMART 是由 ALIENTEK 开发的一个灵巧的串口调试互交组件,通过它你可以通过串口
助手调用程序里面的任何函数,并执行。因此,你可以随意更改函数的输入参数(支持数字 ( 10/16进制, 支持负数)、字符串、函数入口地址等作为参数),单个函数最多支持 10 个输入参数,并支持函数返回值显示。
学习的重点是什么?
1) 学习串口收发的应用;
2) 简单的指令系统设计方法;
3) C语言函数指针调用方式。
2. USMART功能简述
USMART 的功能类似 linux 的shell( RTT的finsh 也属于此类)。它最主要的功能就是通过串口调用单片机里面的函数,并执行,可以帮助我们调试代码。对其进行简易改动,也可以设计成单片机系统的指令系统。
USMART主要功能有:
l 可以调用绝大部分用户直接编写的函数。
l 支持参数类型多(数字(包含10/16进制)、字符串、函数指针等)。
l 支持函数返回值显示。
l 支持参数及返回值格式设置。
l 支持函数执行时间计算。
3. 实现机制
USMART组件主要包括五部分:一是输入和输出接口,主要是串口进行交互和信息转存;二是信息的解析,在转存信息提炼出函数和参数,并按格式贮存;三是函数执行,即执行输入的函数;四是控制USMART运行的机制;五是单片机内的函数列表信息,作为比对使用。
USMART运行的机制实现1.何时获得信息;2.获得必要信息;3,何时按信息执行,如何转到信息执行的函数中去。
何时获取信息:使用定时扫描的方式,使用一个定时器,在定时中断时扫描缓存空间;
获得必要信息:在串口接收中,将上位机输入的信息存到缓存空间,此时得到原始信息;在定时扫描时,将缓存空间中原始信息解析成需要的具体信息;
何时按信息执行:在解析完成后,将具体信息与函数列表信息进行比对,得到需要执行的函数及参数,采用函数指针调用的方式调用相应的执行函数。
4. 数据结构
4.1 USMART控制管理数据结构
根据功能要求,要实现USMART控制管理,需要设计一个结构来控制usmart的执行。其变量包含信息应包括:
(1) 组件执行的必要函数,如组件初始化、信息解析、信息比对、函数执行等;
(2) 调试函数的名称、参数数量、参数类型;
(3) 其他辅助变量;
(4) 附加功能,如运行时间统计等。
usmart控制管理