原创 物聯網協議Coap協議介紹

COAP協議簡介 Coap(Constrained Application Protocol)是一種在物聯網世界的類web協議,它的詳細規範定義在 RFC 7252。COAP名字翻譯來就是“受限應用協議”,顧名思義,使用在資源受限的物聯

原创 數據結構手把手教學——雙向循環鏈表

一、雙向循環鏈表 二、用C語言實現雙向循環鏈表 1、構造存儲結構 typedef int datatype; typedef struct doublelist{ datatype data; str

原创 數據結構手把手教學——單向循環鏈表

一、單向循環鏈表 單向循環鏈表也稱約瑟夫鏈表。據說著名猶太曆史學家 Josephus有過以下的故事:在羅馬人佔領喬塔帕特後,39個猶太人與Josephus及他的朋友躲到一個洞中,39個猶太人決定寧願死也不要被敵人抓到,於是決定了

原创 數據結構手把手教學——順序棧

一、棧的特點 1、邏輯結構:線性結構,具有棧頂和棧底。 2、只允許在一端插入(入棧)和刪除(出棧),具有後進先出的特點。 二、順序棧 top: ①棧頂數據下標 ②空:top = -1 三、用C語言實現順序棧 1、構造存儲

原创 數據結構手把手教學——鏈棧

一、鏈棧 1、top:指向棧頂結點的指針,空棧時top = NULL。 二、用C語言實現鏈棧 1、構造存儲結構 typedef int datatype; typedef struct linkstack { dat

原创 cJSON學習筆記——初識cJSON

一、JSON 1、JSON的介紹 ①、JSON 指的是 JavaScript 對象表示法(JavaScript Object Notation),是輕量級的文本數據交換格式。 ②、JSON 獨立於語言,JSON 使用 Javasc

原创 C語言深度解剖——關鍵字

一、auto關鍵字 在缺省情況下,編譯默認的所有變量都是auto。 二、register關鍵字 使用該關鍵字是讓編譯器儘可能把變量存在CPU的內部寄存器中,而不是內存尋址訪問,從而提高了效率。之所以說是儘可能,是因爲CPU的寄存

原创 數據結構手把手教學——循環隊列

一、隊列 1、隊列特點: ①、線性結構、具有隊頭和隊尾,有且只有一個直接前驅和直接後繼。 ②、只允許在一段插入(入隊)、另一端刪除(出隊),且先進先出。 二、循環隊列 順序隊列是隊列得順序存儲結構,通過改進後成爲循環隊列。

原创 數據結構手把手教學——順序表

一、線性表的特點 1、邏輯結構:①具有線性結構,有表頭(沒有前驅)、有表尾(沒有後繼)。②有且只有一個直接前驅和一個直接後繼。 2、操作規則:任意位置插入和刪除數據。 二、順序表 1、順序表和線性表的關係:順序表是線性表的順序

原创 TFTP 從Windows下載文件失敗的幾種原因總結

原因一:Windows 防火牆沒有關閉   1、關閉防火牆: 2、看看是否能ping通:   原因二:文件路徑沒有選對     原因三:Windows開啓了其它的tftp進程   1、在Windows任務管理器將所有tftp進程關

原创 數據結構手把手教學——單向鏈表

一、鏈表 1、鏈表和線性表的關係:鏈表是線性表的鏈式存儲結構。 2、鏈表給每塊數據單獨的存儲空間,即存儲空間地址可不連續。 3、結點類型 struct node{ datatype data; struct node *ne

原创 STM32串口喚醒STOP模式的實現

前言 STM32常見的低功耗模式有三種:睡眠模式、STOP模式以及待機模式,STM32L系列還有其他低功耗模式。這裏主要講的是STOP模式,STOP模式可以通過外部中斷或事件喚醒,但是不能通過串口中斷喚醒,因爲串口中斷本身不是外部中斷,

原创 RT-Thread學習的綜合應用——使用AP6181 WiFi模組對接OneNET應用示例

學習了RT-Thread的內核也有一段時間了,由於各種各樣的瑣事自己沒有去做一個綜合應用示例,剛最近有點時間,做了一個對接OneNET的歷程,採用的是OneNET的EDP協議,關於OneNET的EDP協議可以點擊跳轉至OneNE

原创 基於RT-Thread的AT device實現ESP8266 通過socket對接OneNET進行POST和GET

前言 基於RT-Thead,讓ESP8266能實現socket,下面只是簡單的應用,做了HTTP的POST和GET,socket接口已經寫好,讀者如果有興趣也可以基於此代碼實現MQTT和EDP等其他協議的應用,代碼放在GitHu

原创 BC26 OpenCPU System API接口

System部分的API接口和RTOS常用的API接口類似。 BC26 OpenCPU SDK:https://github.com/sanjaywu/BC26-OpenCpu 1、重啓系統 void Ql_Reset(u8