單片機(Microcontrollers)是一種集成電路芯片,是采用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、多種I/O口和中斷系統、定時器/計數器等功能集成到一塊硅片上構成的一個小而完善的微型計算機系統。STM32是一種功能比較強大的32位的單片機,它不僅可以使用寄存器進行編程,還可以使用官方提供的庫文件進行編程,這樣不僅編程方便,而且更容易移植。如今 STM32 的出現就是一種趨勢,一種潮流,我們要 做的就是搭上這趟快車,讓自己的技術更有競爭力。
一、STM32是什么?
1.ST— 意法半導體,是一個公司名,即SOC廠商
2.M— Microelectronics的縮寫,表示微控制器,大家注意微控制器和微處理器的區別
3.32— 32bit的意思,表示這是一個32bit的微控制器
二、STM32能做什么?
1.串口—USART,用于跟跟串口接口的設備通信,比如:USB轉串口模塊、ESP8266 WIFI、GPS模塊,GSM 模塊,串口屏、指紋識別模塊
2.內部集成電路—I2C,用于跟I2C接口的設備通信,比如:EEPROM、電容屏、陀螺儀MPU6050、0.96寸OLED模塊
3.串行通信接口—SPI,用于跟SPI接口的設備通信,比如:串行FLASH、以太網W5500、音頻模塊VS1053
4.SDIO、FSMC的超級、I2S、ADC、GPIO
三、從零學習STM32
1.首先閱讀STM32相關的文檔,假定自己已經對STM32的書籍或者文檔有一定的理解。如不理解,請立即閱讀STM32的文檔,以獲取最基本的知識點。
2.第二,選擇STM32開發板。選擇合適的MCU遵循一個原則:花最少的錢,做最多的事。STM32F1系列就是初學者最好的選擇,但在確定項目需求的情況下,一般按照下面的順序來選擇合適的MCU:
3.選擇哪種內核的芯片,內核越高意味著功耗也越高
4.選擇多少引腳的芯片,引腳多少決定了資源的多少,也影響價格
5.選擇多少RAM和FLASH的芯片,FLASH越大,價格越貴
6.還要考慮所選型號采購是否容易,供貨是否穩
7.安裝Keil(MDK-ARM)開發環境,串口助手等工具
8.學習的時候,關注兩個比較重要的文檔:《STM32F103xxx參考手冊》,《STM32固件庫使用手冊》。一定要注意,不需要全部閱讀——沒有時間的。建議選讀,但是前幾章必讀。存儲器和總線架構、電源控制、備份寄存器、復位和時鐘控制,通用和復用功能I/O,中斷和時間等等前幾章一定要花時間閱讀。
9.至此,著手開始開發人生第一個STM32的項目——點亮照亮人生前程的那盞LED燈,STM32的大門由此打開。