单片机的数据存储方法及装置、单片机、存储介质与流程

文档序号:16324446发布日期:2018-12-19 05:51阅读:435来源:国知局
单片机的数据存储方法及装置、单片机、存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种单片机的数据存储方法及装置、单片机、存储介质。

背景技术

在现有的嵌入式开发中,参数通常都是存储于flash存储器中。在有文件系统的操作系统中,通常是将参数以ini文件格式的形式进行存储。但是在不带文件系统的操作系统(如,单片机系统)中,一般是采用如下两种方案对参数进行存储:

方案一:将需要存储的一个或者多个参数按照一定顺序写入一个数组中,并将该数组写入flash存储器中。但是在方案一中,由于参数都是按照一定顺序存储的,因此在读取过程中,必须要求所赋值的变量也是按照对应的排列顺序排列的,因此,所存储的参数的使用范围十分局限;

方案二:在flash存储器中指定一个固定的位置存储特定的参数。但是在方案二中,由于参数的存储位置是固定的,因此对参数的增加、删除操作十分不方便,而且经过多次的参数增加、删除操作之后,flash存储器中的参数的排列十分混乱,不便于管理。



技术实现要素:

本发明实施例提出一种单片机的数据存储方法及装置、单片机、存储介质,能够提高单片机中存储的数据的兼容性和有序性。

本发明实施例提供的一种单片机的数据存储方法,具体包括:

接收数据存储指令;

根据所述数据存储指令获取至少一个数据标识码和每个所述数据标识码所对应的待存储数据;

根据每个所述数据标识码对每个所述待存储数据进行排序,获得数据排列顺序;

根据所述数据排列顺序将每个所述数据标识码和对应的所述待存储数据存入目标单片机的数据存储装置中。

进一步地,每个所述数据标识码由至少一个子数据标识码组成;其中,属于同一所述数据标识码的每个所述子数据标识码表示对应的一种数据结构信息。

进一步地,每个所述数据标识码中的子数据标识码的个数为至少三个,包括结构标识码、结构体标识码和变量标识码;其中,所述结构标识码表示所述数据标识码所对应的所述待存储数据所在的数据结构的标识码;所述结构体标识码表示所述数据标识码所对应的所述待存储数据所在的结构体的标识码;所述变量标识码表示所述数据标识码所对应的所述待存储数据所属的变量的标识码。

进一步地,每个所述数据标识码由4个比特位的结构标识码、6个比特位的结构体标识码和6个比特位的变量标识码组成。

进一步地,对于每个所述数据标识码,所述根据所述数据排列顺序将每个所述数据标识码和对应的所述待存储数据存入目标单片机的数据存储装置中,均具体包括:

将所述数据存储装置中的所有已存数据标识码和所有已存储数据删除;

将每个所述数据标识码和对应的所述待存储数据按照所述数据排列顺序依次存入所述数据存储装置。

进一步地,所述数据存储装置为flash存储器。

相应地,本发明实施例还提供了一种单片机的数据存储装置,具体包括:

指令接收模块,用于接收数据存储指令;

数据获取模块,用于根据所述数据存储指令获取至少一个数据标识码和每个所述数据标识码所对应的待存储数据;

数据排序模块,用于根据每个所述数据标识码对每个所述待存储数据进行排序,获得数据排列顺序;以及,

数据存储模块,用于根据所述数据排列顺序将每个所述数据标识码和对应的所述待存储数据存入目标单片机的数据存储装置中。

进一步地,每个所述数据标识码由至少一个子数据标识码组成;其中,属于同一所述数据标识码的每个所述子数据标识码表示对应的一种数据结构信息。

本发明实施例还提供了一种单片机,具体包括至少一个存储器以及至少一个处理器;

所述存储器,包括存储于其中的至少一个可执行程序;

所述可执行程序在由所述处理器执行时,使得所述处理器实现如上所述的单片机的数据存储方法。

本发明实施例还提供了一种计算机可读存储介质,具体包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上所述的单片机的数据存储方法。

实施本发明实施例,具有如下有益效果:

本发明实施例提供的单片机的数据存储方法及装置、单片机、存储介质,通过在单片机的数据存储过程中使用数据标识码对数据进行标识,从而使得在数据读取过程中变量的排列顺序可以不受数据存储顺序的限制,从而能够提高单片机中存储的数据的普适性和兼容性。另外,由于在将数据存入单片机的数据存储装置之前对待存储数据进行排序,从而能够提高数据存储装置中的数据存储的有序性,进而提高数据管理效率。

附图说明

图1是本发明提供的单片机的数据存储方法的一个优选的实施例的流程示意图;

图2是本发明提供的单片机的数据存储装置的一个优选的实施例的结构示意图;

图3是本发明提供的单片机的一个优选的实施例的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,为本发明提供的单片机的数据存储方法的一个优选的实施例的流程示意图,包括步骤s11至s14,具体如下:

s11:接收数据存储指令。

本实施例由单片机中的控制装置执行。

在本实施例中,数据存储指令可以由用户通过点击特定按钮或者执行特定的操作动作生成,还可以由上述控制装置每隔一段时间自动生成。

s12:根据所述数据存储指令获取至少一个数据标识码和每个所述数据标识码所对应的待存储数据。

在本实施例中,上述控制装置在接收到用户发送的数据存储指令之后,自动获取需要进行存储的一个或者多个待存储数据以及每个待存储数据的数据标识码。其中,待存储数据的数据标识码可以通过人工的方式生成,也可以按照预先设置的生成算法自动生成。

在另一个优选的实施例中,每个所述数据标识码由至少一个子数据标识码组成;其中,属于同一所述数据标识码的每个所述子数据标识码表示对应的一种数据结构信息。

在本实施例中,上述数据结构信息可以为结构体、队列、堆栈或者变量等多种数据结构的相关信息。

更优选地,每个所述数据标识码中的子数据标识码的个数为至少三个,包括结构标识码、结构体标识码和变量标识码;其中,所述结构标识码表示所述数据标识码所对应的所述待存储数据所在的数据结构的标识码;所述结构体标识码表示所述数据标识码所对应的所述待存储数据所在的结构体的标识码;所述变量标识码表示所述数据标识码所对应的所述待存储数据所属的变量的标识码。

在本实施例中,待存储数据为位于结构体中的变量所对应的数据,其中,该结构体位于某一数据结构中。因此,待存储数据的数据标识码可以通过层级编号的方式进行表示,即,该数据标识码中可以包含结构标识码、结构体标识码和变量标识码,用于表示该数据为哪个数据结构中的哪个结构体中的哪个变量所对应的数据。

例如,假设一个数据结构a中包含一个结构体b,结构体b中有一个整型变量c,则a为一级编号,b为二级编号,c为三级编号,则该变量c所对应的数据的数据标识码包含a、b和c的相关信息。

进一步地,每个所述数据标识码由4个比特位的结构标识码、6个比特位的结构体标识码和6个比特位的变量标识码组成。

s13:根据每个所述数据标识码对每个所述待存储数据进行排序,获得数据排列顺序。

s14:根据所述数据排列顺序将每个所述数据标识码和对应的所述待存储数据存入目标单片机的数据存储装置中。

在本实施例中,在获得各个待存储数据的数据排列顺序之后,将各个待存储数据以“数据标识码+待存储数据”的形式依次存入目标单片机的数据存储装置中。其中,目标单片机指的是用于存储上述各个待存储数据的单片机。

在一些具体的实施例中,所述数据存储装置为flash存储器。

进一步地,对于每个所述数据标识码,上述步骤s14还可以进一步包括子步骤s1401至s1402,具体如下:

s1401:将所述数据存储装置中的所有已存数据标识码和所有已存储数据删除。

s1402:将每个所述数据标识码和对应的所述待存储数据按照所述数据排列顺序依次存入所述数据存储装置。

在本实施例中,在数据标识码和待存储数据的存储过程中,需要对目标单片机的数据存储装置进行刷新,从而将原来存储于该数据存储装置中的数据标识码和数据删除,并更换为新的待存储的数据标识码和待存储数据。

在完成数据的存储之后,当需要对上述数据存储装置中的数据进行读取时,则每获取一个待赋值变量后,判断该数据存储装置中是否具有与该待赋值变量相对应的数据标识码,若是,则读取该数据标识码所对应的数据,并将该数据赋值给该待赋值变量,若否,则说明该数据存储装置中不具有与该待赋值变量相对应的数据,因此将预先设置的默认值赋值给该待赋值变量。

例如,有四个结构体a、b、c和d,他们各自有一个成员变量a1、b1、c1和d1,所对应的数据标识码分别为0x11、0x21、0x31和0x41。当在后续开发过程中根据需要在结构体c中增加一个变量c2时,在数据读取过程中,将从数据存储装置中读取到的数据标识码0x11、0x21、0x31和0x41所对应的数据分别赋值给a1、b1、c1和d1,由于读取不到与c2相对应的数据标识码,因此将预设的默认值赋值给c2。

本发明实施例提供的单片机的数据存储方法,通过在单片机的数据存储过程中使用数据标识码对数据进行标识,从而使得在数据读取过程中变量的排列顺序可以不受数据存储顺序的限制,从而能够提高单片机中存储的数据的普适性和兼容性。另外,由于在将数据存入单片机的数据存储装置之前对待存储数据进行排序,从而能够提高数据存储装置中的数据存储的有序性,进而提高数据管理效率。

相应地,本发明还提供一种单片机的数据存储装置,能够实现上述实施例中的单片机的数据存储方法的所有流程。

如图2所示,为本发明提供的单片机的数据存储装置的一个优选的实施例的结构示意图,具体如下:

指令接收模块21,用于接收数据存储指令;

数据获取模块22,用于根据所述数据存储指令获取至少一个数据标识码和每个所述数据标识码所对应的待存储数据;

数据排序模块23,用于根据每个所述数据标识码对每个所述待存储数据进行排序,获得数据排列顺序;以及,

数据存储模块24,用于根据所述数据排列顺序将每个所述数据标识码和对应的所述待存储数据存入目标单片机的数据存储装置中。

进一步地,每个所述数据标识码由至少一个子数据标识码组成;其中,属于同一所述数据标识码的每个所述子数据标识码表示对应的一种数据结构信息。

进一步地,每个所述数据标识码中的子数据标识码的个数为至少三个,包括结构标识码、结构体标识码和变量标识码;其中,所述结构标识码表示所述数据标识码所对应的所述待存储数据所在的数据结构的标识码;所述结构体标识码表示所述数据标识码所对应的所述待存储数据所在的结构体的标识码;所述变量标识码表示所述数据标识码所对应的所述待存储数据所属的变量的标识码。

进一步地,每个所述数据标识码由4个比特位的结构标识码、6个比特位的结构体标识码和6个比特位的变量标识码组成。

进一步地,对于每个所述数据标识码,所述数据存储模块,均具体包括:

已存储数据删除单元,用于将所述数据存储装置中的所有已存数据标识码和所有已存储数据删除;以及,

待存储数据存储单元,用于将每个所述数据标识码和对应的所述待存储数据按照所述数据排列顺序依次存入所述数据存储装置。

进一步地,所述数据存储装置为flash存储器。

本发明实施例提供的单片机的数据存储装置,通过在单片机的数据存储过程中使用数据标识码对数据进行标识,从而使得在数据读取过程中变量的排列顺序可以不受数据存储顺序的限制,从而能够提高单片机中存储的数据的普适性和兼容性。另外,由于在将数据存入单片机的数据存储装置之前对待存储数据进行排序,从而能够提高数据存储装置中的数据存储的有序性,进而提高数据管理效率。

本发明还提供了一种单片机。

如图3所示,为本发明提供的单片机的一个优选的实施例的结构示意图,具体包括至少一个存储器31以及至少一个处理器32;

所述存储器31,包括存储于其中的至少一个可执行程序;

所述可执行程序在由所述处理器32执行时,使得所述处理器32实现如上任一实施例所述的单片机的数据存储方法。

需要说明的是,图3仅以该单片机中的一个存储器和一个处理器相连接为例进行示意,在一些具体的实施例中,该单片机中还可以包括多个存储器和/或多个处理器,其具体的数目及连接方式可根据实际情况需要进行设置和适应性调整。

本发明还提供了一种计算机可读存储介质,具体包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上任一实施例所述的节目频道排序方法。

需要说明的是,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要进一步说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

本发明实施例提供的单片机和计算机可读存储介质,通过在单片机的数据存储过程中使用数据标识码对数据进行标识,从而使得在数据读取过程中变量的排列顺序可以不受数据存储顺序的限制,从而能够提高单片机中存储的数据的普适性和兼容性。另外,由于在将数据存入单片机的数据存储装置之前对待存储数据进行排序,从而能够提高数据存储装置中的数据存储的有序性,进而提高数据管理效率。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1