日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

stm32时钟树_先学STM8,还是学STM32?

發布時間:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 stm32时钟树_先学STM8,还是学STM32? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有朋友問:我學習過51,接下來我是先學習STM8,還是STM32呢?

物聯網STM32入門 - 直播課程 - 創客學院?www.makeru.com.cn嵌入式開發直播課 - STM32 USART串口的應用 - 創客學院直播室?www.makeru.com.cn


1、寫在前面

想要明白這個問題,其實就需要明白STM8和STM32之間有些什么差異,包括MCU基本信息、開發難度、以及應用場景等。

站在客觀的角度來說,STM8比STM32學起來更容易,C語言功底還不錯的朋友,直接上STM32也不是問題。

從大的方向來說,當你對一種MCU掌握的比較透徹,再學其他型號、其他廠商的MCU,相對來說,上手都要容易的多。

針對本文問題,我下面講述一下相關知識。

2、STM8和STM32內核差異

STM8? CPU 是一種專有架構,它保持了以前的 ST7 內核的傳統,同時在 8 位 CPU 效率和代碼密度方面實現了突破。

STM32 圍繞行業標準 ARM? Cortex?-M 32 位內核構建,并受益于與 ARM 處理器有關的開發工具和軟件解決方案的完整生態產業環境。

盡管它們被認為是兩種完全不同的處理器,但它們在架構方面實際有許多相似之處。

下面對比STM8S 和 STM32F1 (Cortex-M3)這兩種內核差異:

兩種內核均基于哈佛架構,它們采用 3 級流水線執行,可將執行時間降至最低,對于 STM8S,時鐘速度高達 24 MHz,對于 STM32F1系列,時鐘速度高達 72 MHz。

在代碼密度方面,它們均有優異的表現,這歸功于 STM8S 系列的 8 位 CISC 指令集以及 STM32F1系列的 Cortex 內核引入的 16 位 Thumb-2 模式。

3、片上外設差異

ST 8位和 32位 MCU 產品線之間的片上外設具有一致性,大多數基本 MCU 外設均定義和構建為可從一個產品系列移植到另一個產品系列。

這通過將 8 位外設簡單但有效地修改為 32 位字來實現。這樣做的好處是可節約成本和功耗,并且資源易于了解。

如果需要更高性能,可在系統層面通過更寬的總線和 DMA 控制器對資源加以補充。在了解了外設的工作原理后,可以將外設應用到 STM8S 和 STM32 系列,從而加速兩種器件之間的轉換。

ARM 處理器和外設符合 AMBA 總線規范,采用 32 位數據總線,而 STM8S 器件使用更為簡單但有效的 8 位總線標準。從功能角度看,它們僅在以下方面存在差異:

  • 寄存器大小:8 位與 16 或 32 位
  • 直接取決于 CPU 運行速度的最大時鐘頻率
  • DMA,可通過簡單數據管理減輕 CPU 的負荷并提高最大數據吞吐量
  • 一些產品特定功能,如 I/O 端口管理

對比STM8S 和 STM32F1 的 SPI 框圖:

SPI寄存器:

從上面框圖和寄存器可以看出:除了幾個有區別的位和寄存器大小外,寄存器和位的名稱以及在寄存器中的位置都是相似的。

4、系統外設

當今的 MCU 是復雜的 SoC(片上系統),其中不僅包含許多外設,還包含一些高級系統特性,旨在縮減物料清單或增強系統的安全性和穩定性。

1.復位

STM8S 和 STM32 基本具有相同的復位電路,僅有細微的差異:

NRST 引腳既是輸入也是具有內置上拉電阻的開漏輸出。為實現 EMS(電磁敏感度)魯棒性,插入了一個濾波器以避免毛刺傳播到數字電路中。雙向復位有三個優點:

  • 對于多 MCU 系統,雙向復位可確保在啟動或熱復位時所有子處理器均正確同步
  • 對于其它 IC,在系統層面還可以使用 MCU 內嵌的電壓監控器(上電復位和欠壓復位)
  • 當生成假內部復位時,在調試過程中會有很大幫助

2.時鐘

STM8和STM32時鐘都具有很強大的功能,特別是最近推出的STM32G0具有高精度內部時鐘,可以省去外部晶振,減少硬件及PCB。

STM8不具備倍頻功能,各方面相對要弱一點。STM32具有倍頻、外設時鐘分頻等強大功能。同時,STM8和32都具有獨立外設時鐘使能功能,以降低功耗。

看下STM32F1時鐘樹,就大概了解有哪些功能了:

3.存儲器

兩種產品線均基于非易失性存儲器并具有一個選項字節加載器。此機制取代了用于 MCU 上電配置的傳統熔絲位:用戶可以在編程時選擇多種選項,這些選項會隨程序二進制映像一起寫入。

所有新型微控制器都具有以下幾個特性:

  • 暫停、停止或待機模式下的復位:可在 MCU 意外進入低功耗模式時避免發生死鎖情況,適用于不能處理此類配置的應用
  • 硬件/軟件看門狗,可以在復位之后立即通過硬件啟動看門狗
  • 存儲器讀保護,用于防止對程序內容的竊取
  • 存儲器寫保護,用于保護存儲器中包含關鍵代碼的部分。通常,這適用于自舉代碼或IAP(應用內編程)驅動程序

這些選項可自動使能安全性和可靠性特性,這樣即使在 CPU 獲取第一個指令之前出現干擾或攻擊,應用也可以恢復。

STM8S 和 STM32 器件具有嵌入式自舉加載器,通過它可以使用板上串行接口(例如 UART)重新燒寫內部 Flash。隨后可以將任何具有串行通訊接口的 PC 用作編程工具,來燒寫或更新 Flash 以及數據 EEPROM 存儲器的內容。ST 提供了一個軟件實用程序來執行自舉加載器支持的所有操作。

當然,還有更多系統特性相關的內容,比如安全性、低功耗方面。這些設計都具有高度一致性。

5、軟件

STM8和STM32除了上面描述的一些內容具有高度一致性之外,其實,對應我們軟件開發工程師來說,軟件才是最為關心的一點。

在STM8和STM32產品設計之初,工程師早就考慮過這個問題。因為二者系統、內核及外設都具有一致性,所以軟件庫也是設計具有一致性。

1.寄存器、庫開發

這個我就不說了,從51過來的都知道,對于寄存器比較少的MCU來說,不是問題。對于STM8來說,其實我覺得還好,使用寄存器開發,就是需要更多時間了解寄存器。

我其實不是很建議大家使用寄存器開發,現在STM8有標準外設庫,庫的API函數接口也容易理解,直接拿來省事,也能方便理解寄存器。

那么對于STM32這種有大量寄存器的MCU,我同樣也是不建議大家直接使用寄存器開發,部分功能可以針對庫優化成寄存器。

2.STM8、32CubeMX工具

STM8CubeMX和STM32CubeMX這兩個工具我不止一次在公眾號提到,ST官方的目前的趨勢就是希望用戶使用這個工具來開發。

而且,大家已經發現,STM32有些新出來的MCU是沒有標準外設庫了。所以,這兩個工具建議大家也要學習。

STM8CubeMX目前更新至V1.3.0,只能提供配置,方便了解MCU使用資源情況,還不具備自動生成代碼功能,不過我覺得后面應該具有這個功能。

所以:如果基礎不怎么好,建議先STM8,等學到一定基礎可以再學STM32。如果自認基礎還可以,C語言也行,那么直接上STM32不成問題。

來源:strongerHuang

- END-

對于工程師來說,通俗易懂的手冊是學習的好助手。

《STM32 HAL 庫開發實戰指南 》

本資料著重講解F103的外設以及外設的應用,力爭全面分析每個外設的功能框圖和外設的使用方法,讓讀者可以零死角的玩轉STM32—F767。基本每個章節對應一個外設,每章的主要內容大概分為三個部分,第一部分為簡介,第二部分為外設功能框圖分析,第三部分為代碼講解。

總結

以上是生活随笔為你收集整理的stm32时钟树_先学STM8,还是学STM32?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。