STMCU小助手
发布时间:2022-8-7 15:16
|
前言 在 STM32 OTA 例程中,设备端(stm32F769 探索版)与云端交换数据使用的是 json 格式。在本篇文章中,将对 json 格式以及 Cjson 的使用及注意事项进行说明。% n9 y) ^* @( p g JSON 格式 JSON(JavaScript Object Notation)是一个轻量级的数据交换格式。既便于开发者读写,也便于机器分析和构建。它独立于开发语言,是一种文本格式,很适用描述在各个系统间交换的数据。 JSON 格式的数据看起来就像下面这个样子:* z" X& c2 H5 H { “Room1”: {3 p4 @6 ?" U/ F “LED”: “on”, “Temperature”: “36”8 A5 v! o/ Z6 j' i! F" t% x } }) ^% E/ W: z$ P+ B9 Z0 p7 k7 l 这个 JSON 数据描述的是 Room1 的 LED 灯状态以及温度值。它由一组“名称(key)”以及对应的“ 值(value)”组成。 “名称”和“ 值”之间由“ :”分开。各组“名称:值”对之间由“,”符号进行分割。 cJSON 的使用 针对不同的开发语言,网上有很多 JSON 的实现, demo 里使用的是 Cjson,版本 1.6。+ j2 v1 ]1 ~* L, y/ A. l 将 Cjson 添加到工程 Cjson 只有一个 C 文件 Cjson.C 和一个头文件 Cjson.h。所以只需要将这两个文件拷贝到工程文件夹中,并将 Cjson.C 添加到工程中就可以了。 数据结构 8 N2 l' P5 X2 S ?# m6 t& H Cjson 中使用下面的数据结构来表示 JSON 数据。 $ k$ L3 W7 \* ^6 U' V, A' y ! Y- r2 [, `' n+ F% X3 ^% v1 a
*next 和*prev 指针可以用来遍历“矩阵”或者“对象”类型的 JSON 数据链表;这两种类型的 JSON 数据还会有一个子数据指针*childtype : 表示该 json 数据的类型,比如数字,字符串、矩阵、对象等 *valuestring, valueint, valuedouble 和*string 指针分别指向该 json 数据类型具体的值,视其类型而定。6 ^1 Q) a8 U, B( {2 d1 }$ C . F( W# @. J! _, r! P2 G$ i2 y0 a* n6 M " ~) E0 Y1 m, E& K$ g c 3 X: g6 [' ~" B. \ 完整版请查看:附件 ( n1 O, u/ I4 _/ @3 t . q$ D. m2 d' u" c; r2 t. |$ E + D2 W6 m" ~- M5 o |
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
Keil-MDK 在线调试设置断点的高级用法
请教下STM32N6570 怎么把分辨率改成320x240并可以全屏显示
【福利三:逢7发帖赢大礼】想要充分利用STM32H743VI片内的RAM空间(但并不顺利)
基于stm32平台上的IC-MU磁绝对值编码器SPI通讯和码盘数据处理
使用STM32 MCU和MPU连接PDM数字麦克风
分享STM32资料-采用 STM32U031R8 MCU 的 STM32 Nucleo-64 开发板,官方资料,数据手册等资料
HRTIM 指南
使用 STM32 的 DWT 单元监控内存
DAC,COMP,HRTIM Fault 功能的使用
微信公众号
手机版