回覆列表
  • 1 # 科學史話

    STM32與51微控制器的引數差異

      核心不一樣,STM32系列目前有很多的核心版本,有Cortex-M1/M4/M7核心,常用的微控制器型號STM32F1系列,為Cortex-M3核心,而51微控制器其實是指與intel8051核心結構一致的微控制器,是其核心結構和時鐘樹結構相差極大。STM32系列的工作主頻也比51微控制器的外設不一樣,我們常用的STM32F103rct6這個型號,此型號有256K的FLASH,作為程式儲存空間,也可以作為微控制器引數儲存空間,斷電不丟失, 還有5個串列埠,SPI介面,多路定時器和PWM輸出控制引腳。其功能比51微控制器強大。

      微控制器最小系統不一樣,常用封裝不一樣,51微控制器常見DIP40,但STM32常見LQFP封裝,STM32F103rct6為LQFP64,能用的引腳更多。

      STM32與51微控制器軟體開發難度差異

      STM32使用暫存器比51微控制器要多很多,其配置比51複雜,而且中斷邏輯,時鐘配置使能控制等很多概念都是51微控制器中所沒有的,再加上stm32很多功能如USB,FSMC。等等功能,其功能更加強大,雖然官方提供了開發韌體庫和相關開發輔助工具,但很多時候,遇到bug除錯難度也加大了很多。

      stm32韌體庫很多實用結構體和指標變數,很多在51微控制器開發過程不太注重結構體與指標的使用,那麼在STM32開發過程中,就難以理解其韌體庫的運用邏輯。

      STM32與51微控制器的價效比差異

      STM32比51處理速度快,外設功能豐富強大,所以價格普遍比51微控制器偏貴,在專案選型過程中,需要根據專案功能需求,選擇合適的微控制器,如果是51微控制器能用,那麼考慮專案成本,肯定是不能選擇STM32,如果51微控制器不能用,即使再便宜,也用不了。

      總之, 作為微控制器開發工程師,需要能夠進行一定的器件選型能力,這個也是必備的專業技能。

      首先如果同一個專案可以用51和STM32同時開發,就不建議使用STM32了,51成本更低。

      STM32和51微控制器不同點有很多:

      1.開發方式不同

      51微控制器一般是直接操作暫存器,STM32主要操作庫函式程式設計

      2.系統資源不同

      一般而言STM32資源要比51微控制器更多

      3.開發環境可能不同

      51和STM32一般來講都可以在Keil下開發,但STM32有更多中選擇,可以在Linux下面開發,windows Esplise下開發,甚至直接用VSCode + 外掛方式開發。

      4.作業系統區別

      一般而言,51微控制器不支援作業系統,STM32支援各種主流作業系統,STM32開發起來更容易,可以很方便的利用系統實現各種場景下的應用,51微控制器由於沒有作業系統,開發起來有一定阻礙,甚至有時候必須要做出部分功能的犧牲才能達到整體功能的和諧執行。

      5.後期維護方式可能不同

      STM32資源足夠多,可以寫一個bootloader程式來完成之後的系統升級工作,不需要拆機就可以完成韌體的升級,而51微控制器則不可以。

  • 中秋節和大豐收的關聯?
  • 相親時,怎樣尬聊?