你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32上cJSON的移植与使用

[复制链接]
szongen 发布时间:2020-6-17 16:52
JSON是在互联网领域数据传输中较常用的协议,该协议比较轻量级也通俗易懂,在物联网快速发展的时代,物物与平台服务器的连接越来越多,JSON在他们之间的数据通信中也是应用越来越多。
) C! ?! K+ M9 t2 Z& Y6 Z( o
- e" |  ]. S: C' X) w先是使用STM32cubemx创建工程,这里使用的STM32f407,只使能了USART1。! g0 [2 T- ?+ p: C2 w
创建工程.jpg ' o3 c7 Z% E9 ^4 O& d& G
8 L0 `0 F9 z7 i' X" B: C
接下来是在MDK上安装cJSON的拓展包: ?: Y6 r9 u) s' N# K" [
安装cJSON.jpg 4 X* `2 `& k0 x$ E$ B6 o

& P4 ]+ t6 O- r* g. q6 [, `% }将cJOSN添加至STM32工程中
5 U, g1 ]& a8 ?1 u 添加至工程.jpg
# j4 `' |/ E$ ]: k3 d在cJOSN.h可以看到所有的API
4 e9 c- ?# T6 `2 K cJOSN.h.jpg % H1 j* `+ i& L4 S4 H( o
; C' b- K4 w7 r# A4 t) I; Z* L9 a
接下来创建一个JSON数据
) k% a4 Q) G0 E% J; L! X  L JSON.jpg
6 Y7 d; G8 p, b5 `! A
  o  {8 X7 g, U( b使用cJSON_Parse函数进行解析6 ^! S& f" @- Q; M1 @
解析.jpg
8 ~4 V- `# `2 z6 f- y, v) {9 O% j  G% G: z2 t
再将键值存入变量中,再打印出来。最后输出cJSON的指针
7 A& d  R; U3 P# ]+ a0 @- |  M 打印.jpg * `- d- Y$ `0 M& m+ _$ a( V

5 b% _7 {6 D7 |! b3 z. X- |2 ~串口监视器输出结果
9 n# {: d9 _" l' c" J 串口.jpg # i8 I) {, `, P4 ^
与预设的的数据键值一致,解析完成。6 j, U& Y7 ^: l" U, x* Q& W. G6 D# `
如果使用了cJSON_Print函数一点要记得释放内存,不然会造成内存泄漏。
  c: k5 _9 G. z, W. I

json.zip

下载

671.35 KB, 下载次数: 38

工程

收藏 3 评论4 发布时间:2020-6-17 16:52

举报

4个回答
李康1202 回答时间:2020-6-18 08:55:11
顶一下
huaishan 回答时间:2020-6-19 13:26:50
谢谢楼主分享!!
Saoskywalker 回答时间:2021-2-21 11:58:40
谢谢分享
w014017 回答时间:2021-2-21 14:57:47
谢谢楼主分享

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版