Stm32F1解析XML文件测试

在项目中遇到的一个案例,需要通过上位机传输XML文件来改变产品的配置参数。 产品用的stm32f1做主控芯片,通过TCP/IP通讯,需要将xml库移植到程序中。

在网上找了几个常见到XML库,找到l了两款轻量级的(基于c语言的,可以直接移植到stm32中)xml解析库:mxml和ezxml。
通过比较,最终选择使用mxml库(ezxml库貌似要上linux系统,移植到keil中编译有问题)。mxml库下载链接为:

https://sourceforge.net/projects/mxml/files/

使用方法如下:

启动Keil5软件,将mxml库复制到Stm32工程中,修改如下配置参数:

  1. 将s文件中43行Heap_Size EQU 0x00000200变为0x00008000
  2. keil软件中Option of target->User->勾选After Build下的Run #1 -> usercommand中添加exe –bin -o “image.bin” “#L”
  3. 导入mxml头文件

之后,先编译一遍程序,解决移植库后所有到编译问题,之后,添加测试代码,如下:

#include "mxml.h"
int lens;
int i=0;
UCHAR tmp[70][10];
mxml_node_t *node, *tree;
for(lens=0;lenstype==0x04 ){
    memcpy(tmp[lens],node->value.text.string,strlen(node->value.text.string));
    lens++;
  }
}

mxml库的使用比较简单,只要修改好配置参数即可使用,如果发现无法解析的情况,很有可能是因为Heap_Size EQU不够,那么适当增加Heap_Size EQU即可。

Stm32F1解析XML文件测试

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

7 + 2 =

滚动到顶部
沪ICP备18028346号