查看: 4901|回复: 3

RT1052+CJSON的移植使用

[复制链接]
  • TA的每日心情
    慵懒
    昨天 09:51
  • 签到天数: 1801 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    54

    主题

    4433

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    9294
    最后登录
    2025-8-18
    发表于 2018-11-30 12:20:15 | 显示全部楼层 |阅读模式
    本来cJSON的使用想和上一篇内存管理放一块的,奈何图贴太多了放不下。

    现在物联网设备里面cJSON的使用也是比较常见,今天分享下他的使用
    源码包可以从KEIL的pack包里面下载,这里不得不提下keil的这个pack包,确实非常方便,很多开源的常规协议如LWIP,SSL,Thread等都可以下到, 不用去到处找。今天需要的cJSON包也可以找到
    TIM图片20181130102818.png

    安装在keil的安装目录下,全包内容如下
    TIM图片20181130113243.png

    实际工程只需要添加这两个
    TIM图片20181128144108.png

    cJSON的使用涉及到内存的动态分配,需要初始化赋予内存分配,释放的函数
    TIM图片20181128150322.png

    如果不设置也可以,因为库默认了一个内存分配函数,调用的是编译器的malloc和free
    TIM图片20181128150345.png


    以下是一个常规的cjson使用流程,初始化内存分配函数,创建一个或多个cJSON结构体,添加字符串或者数字或者不尔类型的变量,也可以是子cjson变量,之后生成cjson字符串,在使用这个字符串之后。释放掉cjson的内存,不然会一直占用。
    TIM图片20181128152147.png

    以上例子中root的内存可以先释放掉,buf的内存可以在其他地方调用之后释放掉。

    TIM图片20181128152336.png

    配合之前的内存管理实验,可以很清楚的看到内存的使用情况,更好的理解cJSON的内存分配机制

    以下是cJSON的其他测试示例
    TIM图片20181128144505.png

    TIM图片20181128144530.png

    TIM图片20181128144556.png

    附上测试源码 cjson_test.rar (2.67 KB, 下载次数: 7)
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2025-8-8 16:43
  • 签到天数: 1504 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    97

    主题

    4692

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    10093
    最后登录
    2025-8-8
    发表于 2018-11-30 14:07:48 | 显示全部楼层
    学习了,
    不用在自己实现了。直接拿过来使用
    谢谢楼主分享
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-4-20 15:04
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    49

    主题

    188

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    3265
    最后登录
    2023-7-24
    发表于 2018-11-30 14:15:05 | 显示全部楼层
    jobszheng5 发表于 2018-11-30 14:07
    学习了,
    不用在自己实现了。直接拿过来使用
    谢谢楼主分享

    cjson自己实现又不难
    今天心情不错
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-8-8 16:43
  • 签到天数: 1504 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    97

    主题

    4692

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    10093
    最后登录
    2025-8-8
    发表于 2018-11-30 19:40:52 | 显示全部楼层
    donatello1996 发表于 2018-11-30 14:15
    cjson自己实现又不难

    也是,有道理
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-8-19 03:56 , Processed in 0.091431 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表