原创 經典MOS管電平轉換電路

注:本文內容轉載自微信公衆號“芯片之家”,原文地址:https://blog.csdn.net/best_xiaolong/article/details/104853048?depth_1-utm_source=distribute.p

原创 單片機實現自動初始化

仿照RT-Thread的自動初始化機制,寫了一個自動初始化的模塊,整個代碼僅52字節。 好處:可以實現自動初始化,不用在外部顯式地調用。 缺點:初始化邏輯較顯式調用的方式模糊,容易引入BUG。 以下是對應的頭文件和源文件,初始化順序分爲9

原创 SFUD源碼淺析

SFUD--SFUD 全稱 Serial Flash Universal Driver,是一款開源的串行 SPI Flash 通用驅動庫,目前已經成爲RT-Thread的一個軟件包,作者正是RT-Thread的技術總監——armink,g

原创 計算變量中有多少個bit位是1的方法

在工作中經常遇到如下問題:任意給定一個32位無符號整數value,求value的二進制表示中1的個數,比如value = 0x05(0b0101)時,返回2,value =  0x8e(0b1000 1110)時,返回4。下面給出幾種常用

原创 SPI從機DMA方式通信調試總結

目錄 1.硬件方案 2.SPI通信問題 3.DMA超時檢測機制 4.半雙工通信 5.從機部分代碼 1.硬件方案 由於項目中單片機的串口資源不夠,所以使用SPI來代替串口,通信雙方分別是Hi3516EV300和STM32L051,前者作爲S

原创 RT-Thread Kconfig結構

本文主要記錄下RT-Thread的Kconfig文件依賴關係,就像分析makefile一樣。下文以正點原子潘多拉STM32L475開發板舉例,該開發板自帶RTT官方的例程,便於分析,目錄如下圖所示。由於使用ENV不能有中文路徑,所以下面的

原创 STM32實現固件分區

一、技術背景 以前我用過一款慶科的WiFi模組——EMW3162,它由一塊STM32F205RG芯片 + SDIO接口的射頻芯片組成,有趣的是官方將這顆STM32芯片內部Flash做了很多塊的劃分,如下圖所示。 EMW316x FLAS

原创 RT-Thread 線程通信(IPC)源碼解析

目前網上有許多講解RT-Thread 的IPC(信號量、互斥量、事件、郵箱、隊列)相關文檔,但僅停留在API的使用,鮮有從源碼角度講解其實現原理。野火出版的《RT-Thread內核實現與應用開發實戰指南》不僅講解了線程調度等實現原理,還講

原创 【RT-Thread】 Kconfig結構

本文主要記錄下RT-Thread的Kconfig文件依賴關係,就像分析makefile一樣。下文以正點原子潘多拉STM32L475開發板舉例,該開發板自帶RTT官方的例程,便於分析,目錄如下圖所示。由於使用ENV不能有中文路徑,所以下面的

原创 計算二進制數據中1的個數

在工作中經常遇到如下問題:任意給定一個32位無符號整數value,求value的二進制表示中1的個數,比如value = 0x05(0b0101)時,返回2,value =  0x8e(0b1000 1110)時,返回4。下面給出幾種常用

原创 STM32啓動流程詳解

STM32的啓動流程大致可分爲以下幾步: 1、設置堆棧 2、跳轉到Reset_Handler 3、Reset_Handler調用SystemInit完成時鐘、中斷向量偏移的初始化工作,然後跳轉到__main,__main函數會完成RW、Z

原创 BLE5抓包環境搭建——基於nRF52832

爲了能快速搭建BLE5的抓包環境,寫下此文章,希望能給藍牙開發者帶來一些幫助。以下是具體的步驟。文章末尾付需要的軟件鏈接。 一、安裝WireShark2.4.6 BLE的抓包是基於WireShark的,別的版本沒有驗證過,2.4.6版本

原创 do{}while(0)的作用

在嵌入式開發的過程中,我們經常可以在一些優秀開源代碼的頭文件裏發現一些宏定義使用了do {} while(0)語句,也許你會疑惑do {} while(0)中的代碼不就是隻執行一次嗎,爲什麼還要多此一舉使用do {} while(0)循環

原创 STM32鏈接腳本詳解

程序的編譯分爲四個步驟:預處理、彙編、編譯、鏈接。在開發STM32時,我們只要在IDE中點擊編譯就能一次性完成這4個步驟,實際上IDE也是要經過這些步驟的,只不過IDE爲我們屏蔽了很多細節。 首先我們需要了解一個image文件的構成。im

原创 STM32低功耗模式下的三種串口通信方式

在嵌入式設備中,常涉及到低功耗下的串口通信,本文以STM32L4作爲硬件平臺,講解3種低功耗下的串口通信,希望對做低功耗的嵌入式開發者有所啓發或幫助。筆者才疏學淺,難免有錯誤或遺漏之處,望讀者能不吝指正。 下文所涉及的低功耗模式都是指ST