小白淺讀篇:STM32入門系列以及介紹STM32型號與功能
作為STM32初學者,一般會選擇購置一塊開發板,因為在開發板上有很多已經集成好的模塊,如紅外模塊、按鍵模塊、LED模塊、DAC模塊、ADC模塊、can模塊、485模塊、乙太網模塊、WiFi模塊、蜂鳴器模塊、SRAM模塊、顯示屏等。有的朋友可能要用stm32做紅外探測小車,那麼就需要用到紅外模塊;有的朋友可能需要用到WiFi模塊進行通信產品的設計。下面貼上一張圖我學習STM32時用過的開發板。
///插播一條:我自己在今年年初錄製了一套還比較系統的入門單片機教程,想要的同學找我拿就行了免費的,私信我就可以哦~點我頭像黑色字體加我地球呺也能領取哦。最近比較閒,帶做畢設,帶學生參加省級或以上比賽///
正文開始:
主要講的內容分為三部分:
·什麼是STM32;
·STM32與ARM之間的關係;
·STM32能做什麼。
什麼是STM32
從字面意義來看:
ST:意法半導體,是一個公司的名字。
M:Microelectronics的縮寫,表示微控制器,要注意微控制器和微處理器的區別。
32:32bit的意思,表示這是一個32bit的微控制器。
STM32與ARM之間的關係
ARM是英國的一家晶片設計公司,其最成功的產品莫過於32位嵌入式CPU核——也就是我們現在介紹的ARM系列,而且最常用的是ARM7和ARM9,ARM公司主要提供IP(Intellectual Property core智慧財產權的核心)核,就是CPU的內核結構,只包括最核心的部分,而不是完整的處理器。ARM把這個核賣給各
大半導體公司,如飛利浦、三星、ATMEL,甚至Intel等許多公司。ARM為了提高對於8位機市場的競爭力,推出了一系列 Cortex-M核,STM32就是將Cortex-M作為內核,通過一些外設等組合封裝在一起就成了如今流行的32位嵌入式處理器。
在上面貼圖中的開發板使用的是STM32F103晶片,也就是M3內核。Cortex-M3采用ARMv7-M架構。
ARMv7架構定義了三個面向不同應用場合的系列:
·「A」系列:面向基於虛擬內存的作業系統和用戶應用;
·「R」系列:針對實時系統;
·「M」系列:面向微控制器。
Cortex-M4采用ARMv7-ME架構,Cortex-M0采用ARMv6-M架構,
Cortex-A5/A8采用ARMv7-A架構,傳統的ARM7系列採用的是ARMv4T架構。
看一下STM32系列產品是如何分類的,如下面圖標所示。
STM32系列產品的分類命名規則,如下圖所示。
STM32能做什麼
STM32的用處取決於其內部資源,前面了解了STM32內部擁有非常多的通信接口。所以如果你使用的模塊擁有此接口都可以通信。比如:
·USART:ESP8266 WIFI模塊、GSM模塊、藍牙模塊、GPS模塊、指紋識別模塊等。
·IIC:EEPROM、MPU6050陀螺儀、0.96寸OLED屏、電容屏等。
·SPI:串行FLASH、以太網W5500、VS1003/1053音頻模塊、SPI接口的OLED屏、電阻屏等。
·AD/DA:光敏傳感器模塊、煙霧傳感器模塊、可燃氣體傳感器模塊、簡易示波器等。
其他的一些接口這裡就不羅列,反正STM32能做的東西太多太多。
在生活中可見的電子產品,如智能手環、微型四軸飛行器、平衡車、掃地機、移動POST機,智能電飯鍋,3D印表機、機器人等。