1. 了解記憶體、片上資源、CPU主頻等
RAM、Flash、EEPROM大小,了解清楚晶片外設接口資源,晶片内部包含那些資源,CPU主頻是多少,這些需要搞清楚(在晶片選型時一定要搞清楚這些這一款晶片有什麼資源)
2. 到ST官網找對應晶片的,固件庫,MDK支援包;找晶片(開發闆)原理圖,資料手冊,參考手冊等資源,以後開發時要參考這些文檔;找《STM32F4開發指南-庫函數版本_V1.1》、《【STM32F446xx】基于ARM Cortex-M4核心的32位微控制器》參考書等;如果要使用的晶片在市面上文檔/視訊教程資料比較少,為了更快入門,必要時可以參考同系列的其他晶片資料,入STM32F446可以參考STM32F407,(注意的是,即使是同系列的晶片,也要注意它們的CPU主頻,參考407的代碼時,需要把CPU主頻修改為446的主頻。)
3. 先熟悉軟體平台的使用,熟悉常見的GPIO、按鍵、中斷、常見外設接口SPI,I2C等的使用
拿到一塊闆,先要搞掂最基礎的4個實驗:
1)LED(GPIO):熟悉stm32F4的IO口作為輸出的作用
2)按鍵:熟悉stm32F4的IO口作為輸入的作用,通過按鍵控制LED亮滅、蜂鳴器等
3)序列槽(UART):熟悉序列槽通信,序列槽作為MCU重要的外部裝置,同時也是軟體開發調試的重要調試手段,其重要性不言而喻。
4)中斷(外部中斷、定時器中斷):熟悉中斷功能;STM32F4的每個IO口都可以作為外部中斷的中斷輸入口。這點是STM32F4DE的強大之處。如:通過外部IO口的中斷功能來控制闆載的LED亮滅以及蜂鳴器的發聲。
再此基礎上再去研究ADC/DAC、PWM,SPI,I2C,DMA等。
1)SPI:是串行外設接口的意思,重要應用于EEPROM,FLASH,實時時鐘,AD轉換器,還有數字信号處理器和數字信号解碼器之間 。SPI,是一種高速的,全雙工,同步的通信總線,并且在晶片的管腳上隻占用4根線,節約了晶片的管腳,同時為PCB布局節省了空間,提供了友善。
2)I2C:
I2C(Inter-Integrated)總線是一種由PHILIPS公司開發的兩線式串行總線,用于控制微控制器和外圍裝置。它是由資料線SDA和時鐘SCL構成的串行總線,可以發送好接受資料。在CPU與被控IC之間,IC與IC之間進行雙向傳送,高速IIC總線一般可達400kbps以上。
3、DMA
4. 基于固件庫的開發(包括标準庫、HAL庫)
HAL庫比标準庫的可移植性要更好,容易相容各種平台,隻需要改動少量代碼就可以在其他平台使用。