国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

一篇文章帶你搞懂stm32工程文件

這篇具有很好參考價(jià)值的文章主要介紹了一篇文章帶你搞懂stm32工程文件。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

本文以stm32f4為例,講解stm32標(biāo)準(zhǔn)庫工程中各個(gè)文件的作用,學(xué)藝不精,如有錯(cuò)誤,望大家私信或評論指出。

先看思維導(dǎo)圖

一篇文章帶你搞懂stm32工程文件,stm32,嵌入式硬件,單片機(jī)

啟動文件

startup_stm32f427xx.s?

一篇文章帶你搞懂stm32工程文件,stm32,嵌入式硬件,單片機(jī)
該文件是stm32的啟動文件,由匯編語言編寫,主要是做stm32上電時(shí)的配置設(shè)置(如堆棧指針,時(shí)鐘數(shù))并跳轉(zhuǎn)到main函數(shù)中,執(zhí)行c代碼。

stm32從該文件開始執(zhí)行,單獨(dú)包含該文件時(shí)(使用寄存器編程時(shí)),需在外部文件聲明兩個(gè)函數(shù)分別是void SystemInit(void) 和 int main();是因?yàn)閟tartup_stm32f4xx.s文件中調(diào)用了上述兩個(gè)函數(shù)用來配置芯片時(shí)鐘樹,main()函數(shù)執(zhí)行用戶代碼。

時(shí)鐘配置文件

system_stm32f4xx.h? 和?system_stm32f4xx.c

一篇文章帶你搞懂stm32工程文件,stm32,嵌入式硬件,單片機(jī)

這倆文件主要用于stm32的時(shí)鐘管理,該文件會根據(jù)不同的芯片,配置不同的內(nèi)核時(shí)鐘。

文件提供了四個(gè)函數(shù),其中最重要的便是SystemInit()函數(shù),該函數(shù)用于配置芯片時(shí)鐘。

外設(shè)相關(guān)文件

stm32f4xx.h

一篇文章帶你搞懂stm32工程文件,stm32,嵌入式硬件,單片機(jī)

類似于51單片機(jī)的頭文件#includ <reg52.h>????????stm32也有對應(yīng)的頭文件#includ“stm32f4xx.h”(注意,頭文件用尖括號引出,編譯器會直接到安裝目錄尋找頭文件,若用雙引號引出,編譯器會先在工程目錄下尋找頭文件(注意在魔法棒中包含頭文件),若工程中沒找到頭文件,再會到安裝目錄下尋找)。

該文件實(shí)現(xiàn)對所有(片外)外設(shè)寄存器的定義和地址映射,時(shí)鐘的晶振頻率數(shù)據(jù)也保存在該文件中。

stm32f4xx_xxx.c 和stm32f4xx_xxx.h

_xxx : gpio,i2c, usart,spi...一系列外設(shè)

?.h文件:外設(shè)固件庫函數(shù)的聲明,外設(shè)結(jié)構(gòu)體的定義,初始化結(jié)構(gòu)體時(shí)所需的參數(shù)列表。

.c文件:主要是固件庫函數(shù)的實(shí)現(xiàn)。

內(nèi)核相關(guān)文件

core_cm4.h 和 core_cm4.c

這倆文件由arm提供實(shí)現(xiàn)對所有片內(nèi)外設(shè)的寄存器定義和描述。

misc.c 和 misc.h

這倆文件由ST提供用來配置NVIC(嵌套向量中斷控制器)和Systick(滴答定時(shí)器)

其他文件

stm32f4xx_it.c 和 stm32f4xx_it.h

這倆文件由ST提供,用于用戶集中管理系統(tǒng)中斷,用戶可以講中斷服務(wù)函數(shù)寫在任何位置,也可以集中寫在stm32f4xx_it.c文件中。

stm32f4xx_conf.h

頭文件的頭文件,包含了所有外設(shè)的頭文件

如你需要在一個(gè)文件中包含多個(gè)外設(shè)(如 gpio ,usart,flash,dma等)那么你可以直接包含stm32f4xx_conf.h文章來源地址http://www.zghlxwxcb.cn/news/detail-831735.html

到了這里,關(guān)于一篇文章帶你搞懂stm32工程文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 顛覆世界的“數(shù)字孿生”到底是什么?這篇文章帶你搞懂全部內(nèi)涵!

    顛覆世界的“數(shù)字孿生”到底是什么?這篇文章帶你搞懂全部內(nèi)涵!

    在春節(jié)很火的電影《流浪地球2》中,已經(jīng)去世的小女孩圖丫丫,被她的父親重新將其個(gè)人的信息模型導(dǎo)入最強(qiáng)大的計(jì)算機(jī)而“復(fù)活”了。屏幕中的丫丫就是一個(gè)數(shù)字孿生體。我們可以看到她的一顰一笑,聽到她跟你的對話,看到她做出反應(yīng)。這就是數(shù)字孿生的另一特色,數(shù)字

    2024年02月01日
    瀏覽(43)
  • 一篇文章帶你搞懂spring6的概念、spring入門與容器IoC詳解(尚硅谷筆記)

    一篇文章帶你搞懂spring6的概念、spring入門與容器IoC詳解(尚硅谷筆記)

    Spring 是一款主流的 Java EE 輕量級開源框架 ,Spring 由“Spring 之父”Rod Johnson 提出并創(chuàng)立,其目的是用于簡化 Java 企業(yè)級應(yīng)用的開發(fā)難度和開發(fā)周期。Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。Spring 框架

    2023年04月16日
    瀏覽(24)
  • 一篇文章讓你搞懂內(nèi)存函數(shù)

    一篇文章讓你搞懂內(nèi)存函數(shù)

    庫函數(shù)memcmp介紹 函數(shù)memcpy從source的位置開始向后復(fù)制num個(gè)字節(jié)的數(shù)據(jù)到destination的內(nèi)存位置。 這個(gè)函數(shù)在遇到 ‘\\0’ 的時(shí)候并不會停下來。 如果source和destination有任何的重疊,復(fù)制的結(jié)果都是未定義的。 庫函數(shù)memcmp的代碼形式 看代碼 memcmp將arr1中的內(nèi)容拷貝到arr2中,總共

    2024年02月17日
    瀏覽(29)
  • 一篇文章讓你搞懂自定義類型-----結(jié)構(gòu)體

    一篇文章讓你搞懂自定義類型-----結(jié)構(gòu)體

    結(jié)構(gòu)是一些值的集合,這些值稱為成員變量。結(jié)構(gòu)的每個(gè)成員可以是不同類型的變量 例如描述一個(gè)學(xué)生 在聲明結(jié)構(gòu)的時(shí)候,可以不完全的聲明 比如 上面的兩個(gè)結(jié)構(gòu)在聲明的時(shí)候省略掉了結(jié)構(gòu)體標(biāo)簽(tag) 那么問題來了 警告: 編譯器會把上面的兩個(gè)聲明當(dāng)成完全不同的兩個(gè)

    2024年02月16日
    瀏覽(30)
  • 一篇文章讓你搞懂TypeScript中的typeof()、keyof()是什么意思

    一篇文章讓你搞懂TypeScript中的typeof()、keyof()是什么意思

    知識專欄 專欄鏈接 TypeScript知識專欄 https://blog.csdn.net/xsl_hr/category_12030346.html?spm=1001.2014.3001.5482 有關(guān)TypeScript的相關(guān)知識可以前往TypeScript知識專欄查看復(fù)習(xí)??! 最近在 前端的深入學(xué)習(xí)過程 中,接觸了與 網(wǎng)絡(luò)請求 相關(guān)的內(nèi)容,于是計(jì)劃用三個(gè)專欄( HTTP 、 Axios 、 Ajax )和零碎

    2023年04月21日
    瀏覽(28)
  • 【運(yùn)維知識高級篇】一篇文章帶你搞懂Git!(Git安裝+全局配置+Git初始化代碼倉庫+Git四大區(qū)域+Git四種狀態(tài)+Git常用命令+Git分支+Git測試代碼回滾)

    版本流程控制系統(tǒng)(version control system)是一種記錄一個(gè)或若干個(gè)文件內(nèi)容變化,以便將來查閱特定版本內(nèi)容情況的系統(tǒng),它會記錄文件的所有歷史變化,我們可以隨時(shí)恢復(fù)到任何一個(gè)歷史狀態(tài),同時(shí)支持多人協(xié)作開發(fā)。 目錄 常見的版本管理工具 Git安裝與全局配置 Git初始化

    2024年02月02日
    瀏覽(140)
  • 【操作系統(tǒng)】一篇文章帶你快速搞懂用戶態(tài)和內(nèi)核態(tài)

    【操作系統(tǒng)】一篇文章帶你快速搞懂用戶態(tài)和內(nèi)核態(tài)

    目錄 一、指令劃分 二、特權(quán)級別 三、操作系統(tǒng)需要兩種CPU狀態(tài) 四、CPU狀態(tài)之間的轉(zhuǎn)換 4.1 CPU狀態(tài)轉(zhuǎn)換的途徑 4.2 CPU狀態(tài)轉(zhuǎn)化流程 4.3 什么情況會導(dǎo)致用戶態(tài)到內(nèi)核態(tài)切換 通常來說,以下三種情況會導(dǎo)致用戶態(tài)到內(nèi)核態(tài)的切換 1、系統(tǒng)調(diào)用 2、異常 3、外圍設(shè)備的中斷 五、為什

    2024年02月05日
    瀏覽(26)
  • 【Spring框架】一篇文章帶你徹底搞懂Spring解決循環(huán)依賴的底層原理

    【Spring框架】一篇文章帶你徹底搞懂Spring解決循環(huán)依賴的底層原理

    目錄 一、前言 二、什么是循環(huán)依賴 三、Spring Bean 的循環(huán)依賴問題 3.1 Bean 的創(chuàng)建步驟 3.2 為什么 Spring Bean 會產(chǎn)生循環(huán)依賴問題? 3.3 什么情況下循環(huán)依賴可以被處理? 四、Spring 如何解決循環(huán)依賴問題? 4.0 什么是三級緩存 4.1 簡單的循環(huán)依賴(沒有AOP) 4.1.0 創(chuàng)建Bean的前期流

    2024年04月17日
    瀏覽(32)
  • 《C語言初階篇》循環(huán)語句還沒搞懂?這篇文章帶你輕松學(xué)會循環(huán)語句!

    《C語言初階篇》循環(huán)語句還沒搞懂?這篇文章帶你輕松學(xué)會循環(huán)語句!

    ?? 鴿芷咕 :個(gè)人主頁 ??? 個(gè)人專欄 :《C語言初階篇》 《C語言進(jìn)階篇》 ??生活的理想,就是為了理想的生活! ?? ?? hello! 各位寶子們大家好啊,又是新的一天開始了,今天給大家?guī)淼难h(huán)語句的全面講解! ?? ?? 歷時(shí)一天終于給肝出來了,本文詳細(xì)講解了wh

    2024年02月15日
    瀏覽(28)
  • 一篇文章帶你走進(jìn)測試工程師的世界

    1、 國內(nèi)定位和發(fā)展前景: 測試工程師,軟件質(zhì)量的把關(guān)者,工作起點(diǎn)高,發(fā)展空間大。我國的軟件測試職業(yè)還處于一個(gè)發(fā)展的階段,所以測試工程師具有較大發(fā)展前景。 目前傳統(tǒng)的軟件行業(yè)還是以軟件測試工程師為主,但是在新興的互聯(lián)網(wǎng)行業(yè)大多還是以QA來命名這個(gè)職位

    2024年02月04日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包