System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种打印方法、系统、电子设备和存储介质。
技术介绍
1、嵌入式系统软件注重实效性,打印作为一种常用调试手段,用于记录软件运行过程及过程中的关键节点状态。伴随软件开发的不断迭代,打印信息也在不断的增加,受限于硬件平台端口传输速率,如何高效的提升打印效率,是嵌入式系统需要直面的问题。
2、相关技术中,通常采用c、c++标准库提供的打印函数。按c/c++标注库打印方式,需要传输新增打印的全部数据,导致函数运行开销较大,打印效率低,不适用于嵌入式实时系统。
技术实现思路
1、本申请提供了一种打印方法、系统、电子设备和存储介质,用以解决现有技术中,打印函数运行开销较大,打印效率低,不适用于嵌入式实时系统的问题。
2、第一方面,本申请实施例提供了一种打印方法,应用于嵌入式系统端,所述方法包括:
3、调用打印接口函数;
4、根据所述接口函数的配置信息进行打印数据提取;
5、将提取的打印数据按照设定的打印格式,存入分配的存储空间;所述打印格式包括:打印数据块同步头、数据解析格式id、数据长度、打印数据值;
6、在设定的触发条件被触发时,将存储空间的数据输出至打印工具端。
7、可选的,所述存储空间包括用于乒乓存储的第一存储空间和第二存储空间。
8、可选的,所述将提取的打印数据按照设定的打印格式,存入分配的存储空间,包括:
9、判断当前存储的存储空间的剩余空间量是否大于
10、若是,将所述打印数据存储至所述当前存储的存储空间;
11、若否,将所述当前存储的存储空间的剩余空间置零,并进行存储空间切换。
12、可选的,所述方法还包括:在将所述当前存储的存储空间的剩余空间置零后,将所述当前存储的存储空间置为第一状态;
13、所述触发条件包括:在所述当前存储的存储空间被置为第一状态时,将所述当前存储的存储空间的数据输出至打印工具端。
14、可选的,所述方法还包括:在将存储空间的数据完成输出至打印工具端后,将该存储空间置为第二状态;
15、在进行存储空间切换后,还包括:监测切换后的存储空间状态,若状态为第二状态,则将所述打印数据按设定的打印格式,存入切换后的存储空间。
16、可选的,所述打印接口函数的配置信息包括:打印的目标模块、模块内打印编号、打印数据长度、打印等级、打印数据类型;
17、其中,所述打印等级用于进行打印过滤,在所述打印等级低于预设等级的情况下,将所述打印数据丢弃。
18、可选的,所述打印格式还包括:单条打印允许最大数据长度;
19、所述数据长度小于或等于所述单条打印允许最大数据长度。
20、第二方面,本申请实施例提供了一种打印方法,应用于打印工具端,所述方法包括:
21、接收打印数据,解析出所述打印数据携带的数据块同步头、数据长度信息和数据解析格式id;
22、根据所述数据块同步头,确定待读取的每条打印数据的起始位置;
23、针对每条打印数据,基于起始位置、数据长度信息和数据解析格式id,提取并解析打印数据值,将所述打印数据值存入解析文件。
24、可选的,所述将所述打印数据值存入解析文件,包括:
25、从所述解析文件中确定与所述数据解析格式id一致的目标解析数据;
26、将所述打印数据值存储至所述目标解析数据中。
27、可选的,所述将所述打印数据值存储至所述目标解析数据中,包括:
28、确定所述目标解析数据中每个待写入数据的数据长度;
29、从所述打印数据值中提取所述数据长度的数据,写入所述目标解析数据。
30、可选的,所述方法,还包括:
31、若所述打印数据打印失败,从存储空间的所述打印数据所在位置开始,向后查找数据块同步头,并在查找到数据块同步头后重新开始打印。
32、可选的,所述将所述打印数据值存入解析文件之后,还包括:
33、显示所述解析文件。
34、第三方面,本申请实施例提供了一种打印系统,包括:嵌入式系统和打印工具;
35、所述嵌入式系统,用于调用打印接口函数;根据所述接口函数的配置信息进行打印数据提取;将提取的打印数据按照设定的打印格式,存入分配的存储空间;所述打印格式包括:打印数据块同步头、数据解析格式id、数据长度、打印数据值;在设定的触发条件被触发时,将存储空间的数据输出至打印工具端;
36、所述打印工具,用于接收打印数据,解析出所述打印数据携带的数据块同步头、数据长度信息和数据解析格式id;根据所述数据块同步头,确定待读取的每条打印数据的起始位置;针对每条打印数据,基于起始位置、数据长度信息和数据解析格式id,提取并解析打印数据值,将所述打印数据值存入解析文件。
37、第四方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
38、所述存储器,用于存储计算机程序;
39、所述处理器,用于执行所述存储器中所存储的程序,实现第一方面或第二方面所述的打印方法。
40、第五方面,本申请实施例提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面所述的打印方法。
41、本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,通过调用打印接口函数;根据所述接口函数的配置信息进行打印数据提取;将提取的打印数据按照设定的打印格式,存入分配的存储空间;所述打印格式包括:打印数据块同步头、数据解析格式id、数据长度、打印数据值;在设定的触发条件被触发时,将存储空间的数据输出至打印工具端。如此,通过提取打印接口函数的配置信息中的打印数据,并将打印数据按照设定的打印格式存储到存储空间中,从而,降低了嵌入式端数据处理复杂度,同时减少了串口传输数据量,提高了打印效率。
本文档来自技高网...【技术保护点】
1.一种打印方法,其特征在于,应用于嵌入式系统端,所述方法包括:
2.根据权利要求1所述的打印方法,其特征在于,所述存储空间包括用于乒乓存储的第一存储空间和第二存储空间。
3.根据权利要求1或2所述的打印方法,其特征在于,所述将提取的打印数据按照设定的打印格式,存入分配的存储空间,包括:
4.根据权利要求3所述的打印方法,其特征在于,所述方法还包括:在将所述当前存储的存储空间的剩余空间置零后,将所述当前存储的存储空间置为第一状态;
5.根据权利要求3所述的打印方法,其特征在于,所述方法还包括:在将存储空间的数据完成输出至打印工具端后,将该存储空间置为第二状态;
6.根据权利要求1所述的打印方法,其特征在于,所述打印接口函数的配置信息包括:打印的目标模块、模块内打印编号、打印数据长度、打印等级、打印数据类型;
7.根据权利要求1所述的打印方法,其特征在于,所述打印格式还包括:单条打印允许最大数据长度;
8.一种打印方法,其特征在于,应用于打印工具端,所述方法包括:
9.根据权利要求8所述
10.根据权利要求9所述的打印方法,其特征在于,所述将所述打印数据值存储至所述目标解析数据中,包括:
11.根据权利要求8所述的打印方法,其特征在于,所述方法,还包括:
12.根据权利要求8所述的打印方法,其特征在于,所述将所述打印数据值存入解析文件之后,还包括:
13.一种打印系统,其特征在于,包括:嵌入式系统和打印工具;
14.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-12任一项所述的打印方法。
...【技术特征摘要】
1.一种打印方法,其特征在于,应用于嵌入式系统端,所述方法包括:
2.根据权利要求1所述的打印方法,其特征在于,所述存储空间包括用于乒乓存储的第一存储空间和第二存储空间。
3.根据权利要求1或2所述的打印方法,其特征在于,所述将提取的打印数据按照设定的打印格式,存入分配的存储空间,包括:
4.根据权利要求3所述的打印方法,其特征在于,所述方法还包括:在将所述当前存储的存储空间的剩余空间置零后,将所述当前存储的存储空间置为第一状态;
5.根据权利要求3所述的打印方法,其特征在于,所述方法还包括:在将存储空间的数据完成输出至打印工具端后,将该存储空间置为第二状态;
6.根据权利要求1所述的打印方法,其特征在于,所述打印接口函数的配置信息包括:打印的目标模块、模块内打印编号、打印数据长度、打印等级、打印数据类型;
7.根据权利要求1所述的打印方法,其特征在于,所述打印格式还包括:单条打印...
【专利技术属性】
技术研发人员:胡弦,尹灿,
申请(专利权)人:上海金卓科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。