【STM32】keil环境下移植cJSON

2023-11-07

前言

由于工作需要,需要在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工程目录。
添加cJSON到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月

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【STM32】keil环境下移植cJSON 的相关文章

  • 微信小程序实战之实现富文本编辑器

    前言 这是我参加掘金启航计划的第三篇文章 这次总结的是实现一个简单的富文本编辑器 相信阅读文章后 观众老爷们 能够实现富文本编辑器 在微信小程序中发布自己的文章 希望观众老爷们多多支持 1 实现效果 实现的效果如下图 1 文本加粗 斜体 下
  • AIX 6.1环境 yum的安装方法

    smit使用方法介绍 因为后面会用到 所以先介绍一下smit的使用方法 输入smitty installp或smitty install 选择Install and Update Software 选择Install Software 在I

随机推荐

  • java打印日志时,如何对字段进行脱敏?

    在我们开发项目的时候 有些字段比较敏感 比如用户信息 这就需要在打印日志的时候对相关字段脱敏处理 本文提供的脱敏方案是使用conversionRule标签的方式 通过继承MessageConverter 在打印日志的时候对相关字段进行脱敏
  • 【RNA-seq】表达矩阵的归一化处理(RPKM,TPM,FPKM,RPM(CPM))

    在RNA seq上游的流程中 所得到的产物为表达矩阵 一般指通过RSEM HTseq等量化工具统计得到的 各个样本比对到参考基因组中各个基因的reads数 一般成为raw read count 这也是最简单的表达定量形式 但是在分析不同样本
  • Linux实现查看文件内容的多种方式

    目录 1 more 分屏显示文件内容 2 less 文本内容查看器 3 head n 显示文件前n行到终端 4 tail n 显示文件后n行到终端 5 实现实时查看文件内容 追踪文件 除了使用vi vim 编辑器查看文件内容和使用cat命令
  • python + selenium 爬淘宝登录

    淘宝的反爬虫机制如果更强大那么该文章方法也没用了 记录于2023 08 07 from selenium import webdriver from selenium webdriver common by import By from s
  • react路由动画跳转,猛练自然强

    react路由动画跳转 1 先在react项目中下载一个css第三方库 用npm或者yarn 第三方库下载 npm install animate css save yarn add animate css 2 在react组件中引用这个c
  • chatgpt赋能python:Python开发的SEO应用

    Python开发的SEO应用 搜索引擎优化 SEO 已经成为每个网站所有者需要考虑的重要因素之一 随着搜索引擎算法的不断变化和演进 我们需要确保我们的网站能在各种搜索引擎中进行良好的排名 Python作为一门强大的编程语言 已经被广泛用于S
  • linux centos 7 恶搞不停重启以及问题解决

    centos 7 恶搞不停重启以及问题解决 一 基础知识 1 运行级别的介绍 首先 CentOS系统有7个运行级别 runlevel 如下 运行级别0 系统停机状态 系统默认运行级别不能设为0 否则不能正常启动 运行级别1 单用户工作状态
  • ADB 用法大全

    基本用法 命令语法 adb 命令的基本语法如下 adb d e s
  • Java时间操作定义类

    类描述 时间操作定义类 public class DateUtils extends PropertyEditorSupport 各种时间格式 public static final SimpleDateFormat date sdf ne
  • libvirt安装过程

    libvirt安装过程 下载libvirt 0 8 1 tar gz 解压该文件 tar zxvf libvirt 0 8 1 tar gz 解压完成后进入到文件夹 libvirt 0 8 1开始安装 1 configure 2 此时提示缺
  • 笔记本电脑无法连接网络并在网络状态中显示ipv4和ipv6无网络访问权限

    win10电脑连不上网首先先右键无线或者网线那个图标 然后点击打开网络和共享中心 找到并点击连接 进入以太网或者wifi状态 看ipv4连接后面是否显示的是无网络访问权限 如果是 请按以下步骤操作 在桌面按WIN R输入CMD点击确定 打开
  • Docker部署Canal

    Canal Canal是阿里开源的一款基于Mysql数据库binlog的增量订阅和消费组件 通过它可以订阅数据库的binlog日志 然后进行一些数据消费 如数据镜像 数据异构 数据索引 缓存更新等 相对于消息队列 通过这种机制可以实现数据的
  • Windows10+CUDA+Tensorflow-gpu安装。装了一个星期,啥问题都见过了。(eg: ImportError: DLL load failed)

    目录 1 CUDA 卸载 2 中间出现的问题 2 1 问题1 This graphics driver could not find compatible graphics hardware You may continue install
  • 畸形报文单包攻击检测防御原理

    Ping of Death攻击 路由器对包的大小是有限制的 IP报文的长度字段为16位 即IP报文的最大长度为65535 如果遇到大小超过65535的报文 会出现内存分配错误 从而使接收方的计算机系统崩溃 攻击者只需不断的通过Ping命令向
  • 源代码中有什么

    在过去 源代码是核心机密 优秀的软件工程师在在某个公司的黑屋子里写程序 我们只能看到发布的产品 但是在今天 开放源代码成为一种开发方式 高手们在开源社区发布他们的代码 我们也终于有机会一睹大师高手们的源程序了 我们可以很容易地从网上下载到各
  • Kubeflow Pipeline - 构建自定义的 Workflow

    文章目录 1 Overview 2 Steps 2 1 理解 component 和 pipeline 2 2 Python SDK 构建 component 和 pipeline 2 3 上传 pipeline 3 Summary 1 O
  • 亮度、对比度与饱和度

    亮度是指图片的明暗程度 对比度是指图片明暗的差异 饱和度则是图片颜色的饱满程度 图片文件一般是RGB格式 当然也有的是YCBR格式 前者主要用于显示 后者则主要用于印刷 当然世上没有绝对的事情 也有人喜欢在电脑或手机上看YCBR格式的 至于
  • 消息队列-msgget

    msgget 获取系统V消息队列标识符 获取消息队列的id 头文件 include
  • 动态规划——JavaScript

    目录 什么是动态规划 怎么用动态规划 动态规划经典例题 斐波那契数 题目描述 思路 代码 爬楼梯 题目描述 思路 代码 不同路径 题目描述 思路 例题 不同路径 打家劫舍 打家劫舍 买卖股票的最佳时期 买卖股票的最佳时期 使用最小花费爬楼梯
  • 【STM32】keil环境下移植cJSON

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