[发明专利]一种监测程序变量值的方法及系统在审
申请号: | 201710146971.0 | 申请日: | 2017-03-13 |
公开(公告)号: | CN107015798A | 公开(公告)日: | 2017-08-04 |
发明(设计)人: | 张德朝;刘衍志;孙东辉;石训军 | 申请(专利权)人: | 深圳市鑫君特智能医疗器械有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 深圳瑞天谨诚知识产权代理有限公司44340 | 代理人: | 张佳 |
地址: | 518000 广东省深圳市南山区招商街道*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 监测 程序 量值 方法 系统 | ||
技术领域
本发明属于计算机领域,尤其涉及一种监测程序变量值的方法及系统。
背景技术
在嵌入式底层程序开发中,经常需要监测程序中变量的值的变化。使用仿真器在线调试的时候,可以在集成开发环境(IDE,Integrated Development Environment)的功能窗口上查看到程序中变量的值的变化,但是很多时候,不能够实现仿真器在线调试(例如安全问题、PCB布板问题等),这时可以通过通讯端口(例如串口、SPI接口、CAN接口等)来实现程序的调试和升级。在使用通讯端口进行调试程序的时候,为了监测程序中变量的值的变化,可以发送命令到底层的MCU,MCU解析命令,然后反馈相应的信息,实现对数据的监测。现有的技术方案中,使用if…else或者switch…case语句来实现监测程序变量值,在需要监测的变量比较多的情况下,代码量大,执行效率低。
发明内容
本发明的目的在于提供一种监测程序变量值的方法及系统,旨在解决使用if…else或者switch…case语句来实现监测程序变量值,在需要监测的变量比较多的情况下,代码量大,执行效率低的问题。
第一方面,本发明提供了一种监测程序变量值的方法,所述方法包括:
声明至少一个变量结构体,每个变量结构体的成员为至少一个待监测的程序变量,声明监测程序变量值的结构体,监测程序变量值的结构体的成员为指向每个变量结构体的指针;
定义变量结构体的对象和监测程序变量值的结构体的对象;
初始化监测程序变量值的结构体的对象,将每个指针指向对应的变量结构体的对象;
MCU接收到待获取程序变量值的信息后,解析所述待获取程序变量值的信息,得到待获取程序变量的编号,所述信息携带了程序变量的编号;
MCU根据待获取程序变量的编号计算出待获取程序变量对应的绝对地址;
MCU读取所述绝对地址中的程序变量值,并向用户反馈。
第二方面,本发明提供了一种监测程序变量值的系统,所述系统包括:
声明模块,用于声明至少一个变量结构体,每个变量结构体的成员为至少一个待监测的程序变量,声明监测程序变量值的结构体,监测程序变量值的结构体的成员为指向每个变量结构体的指针;
定义模块,用于定义变量结构体的对象和监测程序变量值的结构体的对象;
初始化模块,用于初始化监测程序变量值的结构体的对象,将每个指针指向对应的变量结构体的对象;
解析模块,用于MCU接收到待获取程序变量值的信息后,解析所述待获取程序变量值的信息,得到待获取程序变量的编号,所述信息携带了程序变量的编号;
计算模块,用于MCU根据待获取程序变量的编号计算出待获取程序变量对应的绝对地址;
反馈模块,用于MCU读取所述绝对地址中的程序变量值,并向用户反馈。
在本发明中,由于监测程序变量值的结构体的成员为指向每个变量结构体的指针,MCU接收的待获取程序变量值的信息携带了程序变量的编号,MCU根据待获取程序变量的编号计算出待获取程序变量对应的绝对地址,获取程序变量值。因此减少了程序的代码量,提高了执行效率。
附图说明
图1是本发明实施例一提供的监测程序变量值的方法流程图。
图2是本发明实施例二提供的监测程序变量值的系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
请参阅图1,本发明实施例一提供的监测程序变量值的方法包括以下步骤:
S101、声明至少一个变量结构体,每个变量结构体的成员为至少一个待监测的程序变量,声明监测程序变量值的结构体,监测程序变量值的结构体的成员为指向每个变量结构体的指针;
由于本发明实施例一通常是应用于需要监测的程序变量比较多的情况,因此S101具体可以是声明两个或两个以上变量结构体,每个变量结构体的成员为两个或两个以上待监测的程序变量,以监测更多的程序变量。
例如,以32位MCU,数据存储为4字节对齐为例,声明电压变量结构体具体为:
typedef struct_VOLTAGE{
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市鑫君特智能医疗器械有限公司,未经深圳市鑫君特智能医疗器械有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710146971.0/2.html,转载请声明来源钻瓜专利网。