日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32 基础系列教程 49 – Jansson

發(fā)布時間:2025/4/5 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32 基础系列教程 49 – Jansson 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

??? JSON(JavaScript?Object Notation, JS 對象簡譜) 是一種輕量級的數據交換格式。它基于?ECMAScript?(歐洲計算機協會制定的js規(guī)范)的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。 易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網絡傳輸效率。它獨立于開發(fā)語言,是一種文本格式, 很適用描述在各個系統(tǒng)間交換的數據。

JSON 格式的數據看起來就像下面這個樣子:

{

“Room1”: {

“LED”: “on”,

“Temperature”: “36”

}

}

這個 JSON 數據描述的是 Room1 的 LED 燈狀態(tài)以及溫度值。它由一組“名稱(key) ”以及對應的“ 值(value) ”組成。“名稱”和“ 值”之間由“ : ”分開。各組“名稱: 值”對之間由“, ”符號進行分割。

?

Jansson是一個用于編碼、解碼和操作JSON數據的C庫。其主要特點和設計原則是:

簡單直觀的API和數據模型

全面的文檔

不依賴于其他庫

完全Unicode支持(UTF-8)

廣泛的測試套件

?

Jansson獲得麻省理工學院許可;有關詳細信息,請參閱源代碼發(fā)行版中的LICENSE。Jansson在生產中使用,它的API是穩(wěn)定的。它可以在許多平臺上工作,包括許多Unix之類的系統(tǒng)和Windows。它適用于任何系統(tǒng),包括桌面、服務器和小型嵌入式系統(tǒng)。本節(jié)將給大家演示STM32MCU + jansson庫實現對JSON數據的組包與解包過程,下面開始進入正題。

?

示例詳解

基于硬件平臺: 正點源子的stm32f4 探索者開發(fā)板,MCU 的型號是?STM32F4ZET6, 使用stm32cubemx 工具自動產生的配置工程,使用KEIL5編譯代碼。本示例所用的開發(fā)板及部分原理圖:

?

  • 關于CUBEMX工具及KEIL工具的操作將不再細講,如果還有不熟悉的可以查看之前的教程文檔。下面直接介紹工程配置:
  • ?

  • 系統(tǒng)時鐘樹
  • ?

  • 串口配置(用于程序調試)
  • ?

  • RCC配置
  • SYS配置
  • ?

  • 引腳配置,用到引腳極少
  • 堆棧配置(堆要大些):
  • ?

  • 工程代碼
  • Keil MDK開發(fā)環(huán)境可以擴展豐富的第三方庫,本節(jié)要用到的jansson庫也可以直接在MDK開發(fā)環(huán)境中導入,具體操作如下:
  • 庫安裝》

    庫導入》

    庫導入后》

    ?

  • 在main.c 中main函數中USER CODE BEGIN Includes、USER CODE0, USER CODE1、USER CODE 2, USER CODE 4 區(qū)域加入如下圖所示代碼:
  • ??

    ?

    c) 編譯工程,調試程序, (注:在使用探索者F4調試時,下載或仿真調試時先不要PC串口工具連接上開發(fā)板的USB_232接口,有可能導致程序運行不了--boot0引腳電平不對,可以先跑起來再在PC串口工具上連接相應端口!!,可按下面的具體操作步驟來操作—>>? )

    ?

    串口已打開,程序全速運行(F5或單擊全速運行圖標)相看運行結果:

    ?

    這個時候可以在串口中看到如下程序運行結果(成功打印出JSON數據并成功解析):

    復制上面輸出的結果,打開電腦網頁瀏覽器,打開http://www.bejson.com/ (在線JSON格式化)網站,格式化一下輸出結果!!

    到此本次的基于jansson庫的JSON數據操作(創(chuàng)建與解析)就完成了,jansson庫之持的所有接口都在 jansson.h文件中有聲明,關于jansson庫的更多接口具體說明請查看jansson官方接口說明可以KEIL MDK 安裝目錄下(如筆者的…/ARM/PACK/jansson\1.0.0\doc)的說明文檔對應的API Reference部分:

    當然你也可以直接百度jansson,進入Jansson官方網站https://jansson.readthedocs.io/en/2.12/apiref.html:查看API Reference說明:

    下載使用最新的jansson庫請點它--> http://www.digip.org/jansson/releases/ ,快快讓你的程序也Json起來吧。

    ?

    OK,本期實驗完成!下期見!同時如果大家有什么疑問或是有想了解的其它內容,也歡迎大家留言!!最后喜歡這個公眾號的同學們記得加關注了,會有不定期技術干貨推出!!

    ?

    文中源碼資料下載,在公眾號里給十三發(fā)消息:

    下載|STM32基礎系列教程49

    ?

    關注十三公眾號

    ?

    《新程序員》:云原生和全面數字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的STM32 基础系列教程 49 – Jansson的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。