原创 STM32 ADC NTC熱敏電阻二分(折半)查表法實現測溫功能

本文主要描述 - STM32 ADC NTC熱敏電阻二分(折半)查表法測溫功能的思路和代碼實現 NTC的相關屬性:R25=10K±3% B25/50=4100K±3% 10K上拉 STM32 ADC實現NTC測溫的電路示意圖如下: ST

原创 STM32 SP706S 外部看門狗的應用示例

看門狗是防止程序跑飛的一種兜底方案,STM32有自己片內的獨立看門狗和串口看門狗,但是很意外的發現我測試片內的看門狗不好用,關閉了一扇門的同時,我又發現了一扇窗,板子上有SP706S外部看門狗芯片,那麼STM32 SP706S的測試就應運

原创 STM32 W5500 MQTT Client 發佈訂閱及斷線重連

使用STM32 W5500做MQTT Client,使得數據上傳broker,並接收broker傳來的消息,並支持斷網/拔網線再插入網線能夠重新連接broker這樣的功能,需要具備以下條件: 1、STM32 W5500基礎入網配置,使能P

原创 STM32 W5500 HTTP Server 微型web服務實現

嵌入式Web服務很常見,比如電腦通過WIFI接入網絡,在瀏覽器地址欄輸入 "192.168.1.1",或者其他地址,跟自己電腦的IP在同一個網段內,一般IP最後一段是1即可,可以打開路由器的管理頁面。就像這樣: 這個頁面就是有嵌入式小型

原创 STM32 W5500 OTA功能 - bootloader及app的設計和實現

通過W5500的網絡功能,到文件服務器下載STM32要更新的固件(可執行bin文件),存儲到STM32片內FLASH的APP備份區中,以待bootloader拷貝到APP代碼執行區,以實現OTA在線升級的功能。 我使用的芯片是STM32F

原创 STM32 W5500 Http Client Get請求 下載bin文件思路和實現

這兩天在做STM32 W5500通過HTTP GET請求的方式下載bin文件,以實現OTA在線升級,到網上查了一圈,發現並沒有很多有效的信息和資料。於是我就實現了一下,把思路和實現過程分享出來。 實現W5500文件下載的幾個前提: 1、S

原创 STM32 W5500 HTTP Client POST 方式請求/提交網絡數據

現在想讓STM32 W5500通過HTTP Client POST的方式提交數據到遠程服務器,並接收服務返回的JSON格式數據,解析和處理。 實現以上功能,需要具備幾個條件: 1、STM32 W5500的基礎配置,使得PC和W5500在同

原创 STM32 W5500 UDP Client 發送數據

STM32F103RC 驅動W5500,使用UDP Client主動向指定IP和端口發數據測試。 1、首先保證STM32驅動驅動W5500入網可ping通,查看文章《STM32F103RC驅動W5500入網,並可ping通》 2、設置W5

原创 STM32F103的Systick無法進入SysTick_Handler中斷的問題解決

今天做了一個小實驗,使用STM32的嘀嗒定時器做一個LED閃爍(一秒亮,一秒滅),可是調試了好一陣子,沒能達到目的。其實很簡單,只不過我忽視了中斷文件的存在;其次我的低級錯誤導致了調試時間過長,LED閃爍的方法寫錯了。 1、不加Systi

原创 STM32F103RC驅動W5500入網,並可ping通

通過STM32F103RC驅動W5500入網,需要先確定以下幾點: 1、硬件電路連接情況,STM32F103RC的SPI對應的端口,SPI1和SPI2的硬件端口對應關係如下: 電路設計時,如要使用SPI接口,必須把對應的引腳接對。 2、

原创 Linux C 寫日誌文件 log4c(使用系統方法實現)

在Linux環境下調試程序,很多時候需要打印日誌文件。如何可以方便快捷的打印出自己想要的日誌文件的格式,有沒有一個統一的方法,不需要定義多個呢? 今天探索了一下這個問題的答案,還真有。 以前打印日誌文件的時候,定義過的方法如下: voi

原创 C語言帶有指針變量的函數指針的應用示例

首先,引用一下函數指針的定義: 在C語言中,一個函數總是佔用一段連續的內存區,而函數名就是該函數所佔內存區的首地址。我們可以把函數的這個首地址(或稱入口地址)賦予一個指針變量,使該指針變量指向該函數。然後通過指針變量就可以找到並調用這個函

原创 Linux C語言使用cJSON操作json

有一個需求,使用C語言,通過cJSON來操作json。流程如下: 1、創建一個空的根json對象,並打印json字符串。 2、判斷json中是否存在鍵"mode_1",不存在則打印信息 3、json中不存在鍵"mode_1",創建一個鍵爲

原创 STM32F103RCT6使用HY-SRF05 五針超聲波測距模塊進行測距實現

功能簡述:STM32F103RCT6使用HY-SRF05五針超聲波測距模塊進行測距,再將測距好的值通過串口2DMA方式發送到PC的串口調試助手上。 HY-SRF05五針超聲波測距模塊描述: 軟件實現思路: 1、精準的延時工具 2、超聲波

原创 STM32F1 USART2 DMA查詢方式收發數據

現有一個小需求,使用STM32F1系列單片機做串口2的收發數據的功能,通過PC上的串口調試助手給單片機發一串數據,單片機收到數據後再給PC的串口調試助手發回去。 本次使用的是串口DMA方式接收數據,和DMA方式發送數據。 STM32使用U