原创 多定時器複用一個硬件定時器

當定時器不夠用或者不想浪費資源時。我們可以利用定時器複用功能。使用一個硬件定時器就可以實現多個時間的定時。類似於軟件定時器。 優點:可以多個定時器複用要給硬件,節約資源 缺點:它是在某個任務或者mian中一直循環查詢。優先級沒有定

原创 ESP8266 mqtt OS2.0調試源碼

ESP8266 mqtt OS2.0調試源碼 mqtt內部原理,請自行查閱相關資料。至於爲什麼不想說這些東西,請查看下圖1。 我的代碼實在官網Demo下,發現一些問題,經過修改完善的。下面直接看代碼。 這個代碼就是一個任務,包括

原创 FreeRTOS_RingBuff 環形緩存數組的使用

前面我博客寫了一篇《STM32 串口傳輸最佳處理方式 FreeRTOS+隊列+DMA+IDLE(一)》就是利用RingBuff環形緩存數組來存數據,大家可以看着那邊代碼來看。 詳細描述一下里面的原理:看一下入隊函數 static

原创 STM32 RAM溢出分析(KEIL在Build的時候提示Error:L6406E:No space in execution)

先請問大家一個問題:keil5編譯後生成 Program Size: Code RO-data RW-data ZI-data是什麼? 要想知道RAM溢出分析,對內存需要比較瞭解。實際上: ====================

原创 cubemx STM32空閒中斷,非DMA收發

從前面文章知道,我用過DMA收發,但有時候需要用非DMA方式,我發現如果使用DMA方式發送的話,代碼一下子多起來好的。我就是這個原因才用非DMA方式的。人狠話不多,直接上圖,上代碼: cubemx,配置如下,全局中斷打開,其他波特

原创 STM32F4 Cubemx鬧鐘的設置

目的:每天定時鬧鐘 直接上過程: 步驟一、配置 日曆設置,我這裏是20-03-06 9:00:00 星期五。那天都無所謂,有函數可以修改。 鬧鐘設置:09:01:00秒的鬧鐘 注意:Alarm mask hours等這些設置,

原创 STM32 串口傳輸最佳處理方式 FreeRTOS+隊列+DMA+IDLE (一)

當多個串口數據都有大量數據來時,我們如何最佳處理STM32串口通信數據? 可以通過FreeRTOS+隊列的發送方式。 下面將串口DMA發送處理過程 中心思想: 1、建立一個大的環形數組 2、發送的數據時,將數據存入到大的數組 3、

原创 STM32 串口傳輸最佳處理方式 FreeRTOS+隊列+DMA+IDLE (二)

緊接着上一篇文章,如何合理處理多個串口接收大量數據。此種方法,很厲害,很NB,首先,利用DMA 可節省大量CUP資源。其次,利用IDLE空閒中斷來接收位置個數的數據。最後利用串口DMA環形數據的偏移量、長度,入隊,出隊處理數據。保