新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 什么是STM32以及如何學習?

        什么是STM32以及如何學習?

        作者: 時間:2016-10-29 來源:網絡 收藏

        一、硬件準備:

        本文引用地址:http://www.104case.com/article/201610/307401.htm

        隨著技術的發展,單片機開發手段也越來越先進,而價格卻不斷下降。當FLASH型單片機被廣

        泛應用后,采用軟件模擬加寫片驗證成為一種經濟實用的實驗方法。而近年來很多單片機都具有了

        ISP功能,只要一根下載線即可以編程,不再需要編程器。

        美國SST公司推出的SST系列單片機更是集成了仿真功能,配合Keil軟件,可使用戶的目標板直

        接具有仿真功能,將單片機的易用性推向一個新的高度。

        我們推薦給大家的學習單片機的設備是:方案1:(1)計算機一臺;(2)具有仿真功能的實

        驗板一塊,(3)其它如電烙鐵、實驗電源等常規工具。方案2:(1)計算機一臺;(2)下載型實

        驗板一塊;(3)下載線一根;(4)其它如電烙鐵、實驗電源等常工具。方案1的特點是實驗板本

        身具有仿真能力,性價比高。方案2價格略低。如果你想學單片機,而又不愿做這些投資,我勸你最

        好還是放棄,否則可能只會挫傷你學習的積極性和浪費你的時間。好在這些投資并不算多。

        二、軟件準備:單片機開發中除必要的硬件外,同樣離不開軟件,Keil軟件是目前最流行開發

        MCS-51系列單片機的軟件,這從近年來STM32的核心Cortex-M3處理器是一個標準化的微控制器結構,希望思考一下,何為標準化?簡言之,Cortex-M3處理器擁有32位CPU,并行總線結構,嵌套中斷向量控制單元,調試系統以及標準的存儲映射。

        嵌套中斷向量控制器(Nested Vector Interrupt Controller,簡稱NVIC)是Cortex-M3處理器中一個比較關鍵的組件,它為基于Cortex-M3的微控制器提供了標準的中斷架構和優秀的中斷響應能力,為超過240個中斷源提供專門的中斷入口,而且可以賦予每個中斷源單獨的優先級。利用NVIC從可以達到極快的中斷響應速度,從收到中斷請求到執行中斷服務的第一條指令僅需12個周期。這種極快的響應速度一方面得益于Cortex-M3內核對堆棧的自動處理機制,這種機制是通過固化在CPU內部的微代碼實現的。另一方面,在中斷請求連續出現的情況下,NVIC使用一種稱為“尾鏈”的技術,使連續而來的中斷可以在6個時鐘周期內得到服務。在中斷的壓棧階段,更高優先級的中斷可以不耗費任何額外的CPU周期就能完成嵌入低優先級中斷的動作。具體的細節后面我會繼續總結的。用戶可以通過設置CPU自動進入低功耗狀態,而使用中斷來將其喚醒,CPU在中斷時間來臨之前會一直保持睡眠狀態。這個后面我也會再總結。

        Cortex-M3的CPU支持兩種運行模式:線程模式(Thread Mode)與處理模式(Handler Mode)并且需要注意的是,這兩種模式都擁有各自獨立的堆棧。這種設計使得開發人員可以進行更為精密的程序設計,對實時操作系統的支持也就更好了。

        Cortex-M3處理器還包含了一個24位可自動重裝載定的定時器,可以為內核(RTOS)提供一個周期中斷。

        在指令集方面,ARM7和ARM9都有兩種指令集(32位指令集和16位指令集),而Cortex-M3系列處理器支持Thumb-2指令集。由于Thumb-2指令集融合了Thumb指令集和ARM指令集,使得32位指令集的性能和16位指令集的代碼密度之間取得了平衡。

        而且,ARM Thumb-2 專門為C/C++編譯器設計,這就意味著Cortex-M3系列處理器的開發應用可以全部在C語言環境中完成。

        STM32微控制器的推出標志著ST公司在兩條產品主線(低價位主線和高性能主線)上邁出了重大一步。STM32最初發布時有14個不同型號,分為兩個版本:最高CPU時鐘為72MHZ的“增強型”和最高CPU時鐘為36MHZ的“基本型”。這些不同STM32型號里內置的Flash最大可達

        128KB,SRAM最大為20KB,在STM32發布之初,配置更大Flash,RAM和更復雜外設的版本就已經在規劃之中了。不管是什么版本,什么型號的STM32器件,它們在引腳功能和應用軟件上是兼容的。這就使得開發人員在使用STM32系列微控制器時,不必改動PCB就可以根據需要隨意更換器件型號。

        乍一看STM32的設備配備,與往日熟悉的51單片機倒有幾分相似。一般,STM32都會配備常見外設,諸如多通道ADC,通用定時器,I2C總線接口,SPI總線接口,CAN總線接口,USB控制器,實時時鐘RTC等。但是,它的每一個外部設備都具有獨特之處。例如,12位精度的ADC具備多種轉換模式,并帶有一個內部溫度傳感器,帶有雙ADC的STM32器件,還可以使兩個ADC同時工作,從而衍生出了更為高級的9種轉換模式;STM32的每一個定時器都具備4個捕獲比較單元,而且每個定時器都可以和另外的定時器聯合工作以生成更為精密的時序;STM32有專門為電機控制而設的高級定時器,帶有6個死區時間可編程的PWM輸出通道,同時其帶有的緊急制動通道可以在異常情況出現時,強迫PWM信號輸出保持在一個預訂好的安全狀態;SPI接口含有一個硬件CRC單元,支持8位字節和16位半字數據的CRC計算。在對SD或MMC等存儲介質進行數據存取時相當有用。

        • STM32單片機中文官網
        • STM32單片機官方開發工具
        • STM32單片機參考設計


        關鍵詞: stm32

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 红原县| 巴楚县| 贺州市| 张北县| 宣化县| 瓦房店市| 桑日县| 邳州市| 博白县| 长治县| 北安市| 邵阳市| 乐山市| 黑水县| 常宁市| 兴义市| 叶城县| 仁寿县| 绿春县| 左贡县| 大关县| 玉山县| 休宁县| 黄骅市| 绿春县| 寻乌县| 正定县| 防城港市| 洞头县| 丁青县| 巴林右旗| 南江县| 徐州市| 辰溪县| 堆龙德庆县| 稻城县| 西和县| 运城市| 张家港市| 浠水县| 新邵县|