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

【STM32+HAL+Proteus】系列學(xué)習(xí)教程2---STM32開發(fā)模式選擇

這篇具有很好參考價值的文章主要介紹了【STM32+HAL+Proteus】系列學(xué)習(xí)教程2---STM32開發(fā)模式選擇。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

實現(xiàn)目標(biāo)

1、熟悉STM32開發(fā)常用的三種模式


一、STM32開發(fā)常用的三種模式

????????STM32常用的開發(fā)模式有三種:基于寄存器開發(fā)、基于標(biāo)準(zhǔn)外設(shè)庫開發(fā)、基于STM32CubeMX+HAL/LL開發(fā)。通常我們學(xué)習(xí)STM32的時候,首先都得先選擇一種開發(fā)模式,不同的開發(fā)模式會導(dǎo)致編程的架構(gòu)完全不一樣。

1、 基于寄存器開發(fā)模式(STM32 Snippets)

????????STM32 Snippets是高度優(yōu)化的示例代碼集合,使用符合CMSIS的直接寄存器訪問來減少代碼開銷,從而在各種應(yīng)用程序中最大化STM32 MCUs的性能。STM32Snippets主要針對底層開發(fā)人員,或者從51轉(zhuǎn)過來,直接操作寄存器開發(fā)的人員。目前只在 STM32F0 和 STM32L0 系列中有提供。關(guān)于STM32F1系列基于寄存器開發(fā)資料正點原子公司有提供。

2、基于標(biāo)準(zhǔn)庫開發(fā)模式(SPL)

????????標(biāo)準(zhǔn)庫全名叫標(biāo)準(zhǔn)外設(shè)庫(Standard Peripheral Library),其實標(biāo)準(zhǔn)庫所做的事情就是對寄存器進行了封裝,形成了一套API函數(shù)供用戶使用。主要是面向過程的嵌入式系統(tǒng)開發(fā)人員。通過標(biāo)準(zhǔn)外設(shè)庫,開發(fā)者無需深入掌握底層硬件的細節(jié)就可以輕松地驅(qū)動外設(shè),快速部署應(yīng)用。因此,使用標(biāo)準(zhǔn)外設(shè)庫可以減少開發(fā)者驅(qū)動片內(nèi)外設(shè)的編程工作量,降低時間成本。由于現(xiàn)在ST官方主推STM32CubeMX,所以停止了對SPL的更新。

3、 基于STM32CubeMX+HAL/LL開發(fā)模式

????????HAL:Hardware Abstraction Layer,硬件抽象層庫。是目前ST官方主推的一套開發(fā)STM32的庫。HAL針對的是具有一定嵌入式基礎(chǔ)的開發(fā)人員,HAL具有很好的移植性。目前,HAL 庫已經(jīng)支持 STM32 全系列產(chǎn)品,它是ST 公司未來主推的庫。

????????此外,為了配合HAL庫的開發(fā)應(yīng)用,ST 公司還發(fā)布了一個新的軟件開發(fā)工具產(chǎn)品:STM32CubeTM。這個產(chǎn)品由 PC 端的圖形化配置與代碼生成工具 STM32CubeMX、嵌入式軟件庫函數(shù)(HAL 庫與LL 庫)以及一系列的中間件集合(RTOS、USB 庫、文件系統(tǒng)、TCP/IP協(xié)議棧和圖形庫等)構(gòu)成。STM32CubeMX+HAL/LL開發(fā)模式大大減少了開發(fā)人員的工作量,提高程序開發(fā)的效率。

????????LL(Low Layer)庫是 ST 最近新增的庫,與HAL 庫捆綁發(fā)布,其說明文檔也與 HAL文檔編寫在一起。STM32Cube HAL 和 LL配合STM32CubeMX工具對STM32進行開發(fā)。LL庫相對HAL庫,具有簡單的結(jié)構(gòu),針對之前從事SPL(標(biāo)準(zhǔn)外設(shè)庫),或寄存器開發(fā)的人員。LL 庫近似于原來的標(biāo)準(zhǔn)外設(shè)庫移植到 STM32CubeMX下的新的實現(xiàn),但是其實現(xiàn)方法更加高效、簡潔。

二、三種模式優(yōu)缺點對比

開發(fā)模式名稱

優(yōu)點

缺點

基于寄存器(STM32Snippets)

  1. 代碼簡練、執(zhí)行效率高;
  2. 有助于了解STM32 微控制器的架構(gòu)與工作原理。
  1. 代碼后期維護難,移植性差;
  2. 開發(fā)者需要有一定的底層編程基礎(chǔ)。

基于

標(biāo)準(zhǔn)外設(shè)庫(SPL)

  1. 對開發(fā)者的要求較低,會調(diào)用 API 即可編寫程序;
  2. 代碼容錯性好且后期維護簡單;
  3. 適合快速入門。
  1. 運行速度相對寄存器級的代碼偏慢;
  2. 比較不利于開發(fā)者深入掌握 STM32 微控制器的架構(gòu)與工作原理。

基于STM32CubeMX+HAL

  1. 初始代碼框架自動生成,這簡化了開發(fā)者新建工程、編寫初始代碼的過程;
  2. 圖形化配置與代碼生成工具操作簡單、界面直觀,這為開發(fā)者節(jié)省了查詢數(shù)據(jù)手冊了解引腳與外設(shè)功能的時間;
  3. 采用的是HAL庫,代碼移植性最好。
  1. 函數(shù)調(diào)用關(guān)系比較復(fù)雜、程序可讀性較差、執(zhí)行效率偏低;
  2. 需要對STM32微控制器的基礎(chǔ)知識和外設(shè)工作原理有一定的了解。

????????由上表可知基于STM32CubeMX+HAL開發(fā)的優(yōu)點非常明顯,再加上近年來,ST公司已不再為其推出的新品微控制器配備對應(yīng)的標(biāo)準(zhǔn)外設(shè)庫。而STM32CubeMX +HAL已為ST 公司目前主推的一種開發(fā)模式,對此,為了順應(yīng)技術(shù)發(fā)展的潮流,我們選擇基于STM32CubeMX+HAL開發(fā)模式。文章來源地址http://www.zghlxwxcb.cn/news/detail-860906.html


總結(jié)

到了這里,關(guān)于【STM32+HAL+Proteus】系列學(xué)習(xí)教程2---STM32開發(fā)模式選擇的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【STM32】標(biāo)準(zhǔn)庫與HAL庫對照學(xué)習(xí)教程十四--CAN總線

    【STM32】標(biāo)準(zhǔn)庫與HAL庫對照學(xué)習(xí)教程十四--CAN總線

    STM32全部教程 :【STM32】標(biāo)準(zhǔn)庫與HAL庫對照學(xué)習(xí)系列教程大全 本篇介紹如何使用STM32的標(biāo)準(zhǔn)庫與HAL庫對CAN總線的使用,由于我那塊普中的STM32F103ZET6開發(fā)板送人了,因此我這邊用STM32F103C8最小系統(tǒng)板,進行簡單的演示一下功能,最主要的還是需要理解CAN總線的原理,在本篇中,

    2024年02月15日
    瀏覽(17)
  • 《安富萊_STM32-V6開發(fā)板ThreadX內(nèi)核教程(V1.5)》簡單整理學(xué)習(xí)

    函數(shù)描述: 函數(shù)tx_thread_create 用于實現(xiàn) ThreadX操作系統(tǒng)的任務(wù)創(chuàng)建,并且還可以自定義任務(wù)棧的大小。 函數(shù)形參: 第1個參數(shù) thread_ptr 是任務(wù)控制塊地址。 第2個參數(shù) name_ptr 是任務(wù)名,這個參數(shù)主要是用于調(diào)試目的,調(diào)試的時候方便看是哪個任務(wù)。 第3個參數(shù) entry_function 是任

    2024年02月19日
    瀏覽(17)
  • STM32野火教程學(xué)習(xí)筆記

    STM32野火教程學(xué)習(xí)筆記

    雖然經(jīng)歷了疫情期間的價格起飛,但是STM32系列的單片機仍然是各個控制領(lǐng)域內(nèi)主流的微控制器。它是控制人的必修課之一。 我們在學(xué)習(xí)51單片機的時候,通常是通過編寫程序直接對其輸入輸出(i/o)口進行操作。而STM32單片機更加高級,它有更復(fù)雜的底層。因此我們對STM32單

    2024年02月06日
    瀏覽(25)
  • STM32學(xué)習(xí)·HAL庫·STM32CubeMX系列學(xué)習(xí)(安裝和使用)

    STM32學(xué)習(xí)·HAL庫·STM32CubeMX系列學(xué)習(xí)(安裝和使用)

    目錄 ?編輯 1.? STM32CubeMX簡介 2.??STM32CubeMX安裝 2.1??STM32CubeMX軟件獲取 2.1.1? 獲取Java軟件 2.1.2??STM32CubeMX軟件獲取 2.2? 搭建Java運行環(huán)境 2.3? 安裝STM32CubeMX軟件 2.4? 下載和關(guān)聯(lián)STM32cube固件包 ????????STM32CubeMX 是 ST 微電子公司推出的一款圖形化配置工具,用于快速啟動

    2024年02月19日
    瀏覽(20)
  • STM32的HAL庫開發(fā)系列 - CAN通信實例

    CAN通信是一種高效、可靠、靈活的數(shù)據(jù)傳輸方式,適用于各種應(yīng)用場景,在工業(yè)自動化、汽車電子、醫(yī)療設(shè)備等領(lǐng)域有著廣泛的應(yīng)用。 但理解CAN通信的實際應(yīng)用,也不能全部只看軟件方面,還需要對硬件上也有了解。 在硬件上,CAN通信使用兩條線路:一條是數(shù)據(jù)線(CAN_H),

    2024年02月12日
    瀏覽(25)
  • STM32F1系列HAL庫開發(fā)——RTC實時時鐘

    實時時鐘(Real Time Clock,RTC),是一個可以不使用系統(tǒng)主電源供電的定時器。在系統(tǒng)主電源斷開 的情況下,依靠紐扣電池供電繼續(xù)計時,只要都VBAT不斷,都不影響RTC正常工作,只有當(dāng)系統(tǒng)電源VDD和紐扣電池VBAT都斷開時,RTC才停止工作。RTC的時鐘源有三個。第一個由外部高速

    2023年04月18日
    瀏覽(23)
  • STM32的HAL庫開發(fā)系列 - GPIO中斷/外部中斷EXTI

    STM32的HAL庫開發(fā)系列 - GPIO中斷/外部中斷EXTI 中斷它可以在GPIO口的電平發(fā)生變化時產(chǎn)生中斷,從而使得STM32微控制器能夠及時響應(yīng)外部設(shè)備的變化。 STM32的GPIO中斷/外部中斷EXTI可以配置為上升沿中斷、下降沿中斷和雙邊沿中斷三種類型,分別在GPIO口電平從低電平變?yōu)楦唠娖?、?/p>

    2024年02月12日
    瀏覽(17)
  • 正點原子STM32嵌入式學(xué)習(xí)-keil5安裝教程

    正點原子STM32嵌入式學(xué)習(xí)-keil5安裝教程

    前言:本人沒有什么嵌入式的經(jīng)驗,但是看到硬件的同事做開發(fā)板比較好玩,比較感興趣。剛好有這樣一個機會,可以跟隨《原子教你玩STM32(庫函數(shù)版)》課程線下學(xué)習(xí),在此,將本次課程的學(xué)習(xí)做一個記錄。相信對我這樣一個小白來說,幫助還是會非常大的。 目錄 一.下

    2024年03月10日
    瀏覽(153)
  • STM32CubeIDE + HAL + STM32f103C8T6 系列教程1 ---板載PC13LED閃爍

    STM32CubeIDE + HAL + STM32f103C8T6 系列教程1 ---板載PC13LED閃爍

    之前的系列教程都是基于Arduino的,但是公司招聘51和stm32的開發(fā)還是多些,所以特別開了一個stm32的系列。 這個系列特點是注重了 Arduino 編程思維和習(xí)慣下向STM32開發(fā)的過渡 。前期沒有涉及到太多寄存器相關(guān)的知識,利用HAL庫和STM32CubeIDE快速入手STM32的數(shù)字輸入/輸出、模擬輸

    2024年02月16日
    瀏覽(21)
  • STM32入門教程課程簡介(B站江科大自化協(xié)學(xué)習(xí)記錄)

    STM32入門教程課程簡介(B站江科大自化協(xié)學(xué)習(xí)記錄)

    STM32最小系統(tǒng)板+面包板硬件平臺 STM32面包板入門套件 Windows電腦 萬用表、示波器、鑷子、剪刀等 Keil MDK 5.24.1 是一款嵌入式軟件開發(fā)工具,它提供了一個完整的開發(fā)環(huán)境,包括編譯器、調(diào)試器和仿真器。它支持各種微控制器,包括 ARM、Cortex-M、Cortex-R 和 8051 等。Keil MDK 是一款

    2023年04月08日
    瀏覽(90)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包