加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

【STM32】keil环境下移植cJSON

发布时间:2020-12-16 18:54:12 所属栏目:百科 来源:网络整理
导读:前言 由于工作需要,需要在STM32上使用Json,所以把一个JSON库移植到了STM32(keil MDK), 实际上keil已经有了JSON扩展包(Jansson),只需要从keil官网上下载JSON Pack再导入就行,有兴趣的可以看这篇文章。 这篇文章主要讲解如何把cJSON移植到keil环境下

前言

由于工作需要,需要在STM32上使用Json,所以把一个JSON库移植到了STM32(keil MDK),实际上keil已经有了JSON扩展包(Jansson),只需要从keil官网上下载JSON Pack再导入就行,有兴趣的可以看这篇文章。

这篇文章主要讲解如何把cJSON移植到keil环境下,用于STM32。

测试平台

  • keil版本:uVision 5.2.1a
  • 芯片型号:STM32F051

下载并移植cJSON库

首先去github下载cJSON库,链接:https://github.com/DaveGamble/cJSON

cJSON有三个源文件及其对应的头文件:cJSON.c/cJSON.h,cJSON_Utils.c/cJSON_Utils.h,test.c/test.h。我们主要使用cJSON和test,把这些文件拷贝到keil工程目录下,并添加入keil工程目录。

由于test.c文件里面有main主函数,可以把这个主函数改一下,然后在自己工程的main主函数调用该测试函数即可。

保存,编译,烧写代码。

注意事项

  1. 由于cJSON使用printf打印数据,要先重定向printf输出到串口,之后用串口调试工具查看cJSON调试信息,具体做法可以点击这里或者参考其他资料;
  2. 正常运行cJSON的测试例程需要3KB的heap,如果芯片内存足够,可以在启动文件(startup_XXX.s)里修改。

    我这次项目使用的芯片是STM32F051,默认大小是512B,不修改这里的话解析test文件的json是会出错的,最多只能解析三层键值项。
  3. cJSON的文档查看github即可;

本文最后编辑时间:2017年3月

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读