
無論做什么芯片的開發,都需要看芯片手冊及其附帶的資料。針對STM32單片機,我們能夠借鑒的手冊有《Cortex-M3權威指南(中文)》《STM32中文參考手冊》(通常都是英文的,我們再翻譯,這也是懂一些基礎英語的重要性),此外,還有官方的《ST MCU選型手冊》《STM32F103RC_Datasheet》。
其實除了ST意法半導體公司出廠的芯片,還有許多像NXP出品的32位芯片,也并不是只有簡簡單單的STM32F103RC系列的芯片,還有F2、F4系列等等。
(相關資料圖)
上圖就是官方提供的選型圖片,相信看完就大概知道自己根據功能選什么系列的芯片了。正是由于芯片的多樣性,業內使用ST意法半導體制作的芯片的公司還是處于多數的。
那么STM和我們經常聽到的ARM又是怎樣一個關系呢?
stm32的內核由ARM設計,而隨著更新迭代,也從ARM命名到了Cortex。而我們今天介紹的STM32F103RCT6就是采用的Cortex-M3內核架構。做詳細的設計開發,離不開《Cortex-M3權威指南(中文)》這本書,讀的越透徹越好,但是只讀這些太單調了,我們還是以了解和快速入門為主,有時間根據工作需要再精進。
STM32F103RCT6芯片共有引腳64個,引腳基本原理圖如下:
stm32開發需要借助keil5軟件,安裝好F1的芯片包后就能正常編寫燒錄F1芯片的程序,沒包也行,就是看著出一堆亂七八糟的界面而已。對于stm32的引腳我們有必要注意一下。與51單片機的P3口類似,我們的32芯片引腳都具備著第二或者第三功能,叫做端口復用。平時是通用IO引腳,開啟復用功能后就能使用復用功能了。
比如PA9和PA10,平時就是普通的IO輸入輸出功能,開啟USART時鐘后就是串口通信功能了,只是復用功能需要開啟至少兩個時鐘(通用IO和復用功能所在的時鐘)。
提到時鐘,下圖是重中之重,弄明白這張圖,開發啥功能的時鐘配置都不是事。
重點看SYSCLK后面的時鐘走向,各種功能分別接在了不同的時鐘分支上,重要的幾個是 APB1 上面連接的是低速外設(最大36MHz),包括電源接口、備份接口、 CAN、USB、I2C1、I2C2、UART2、UART3 等等, APB2 上面連接的是高速外設包括 UART1、SPI1、Timer1、ADC1、ADC2、所有普通 IO 口、第二功能 IO 口等。
除了復用功能這一強大的能力,還有端口重映射這一精彩的設計。能夠將原本的復用功能引腳映射到其他引腳上,當然需要參考《STM32中文參考手冊》一書具體查看了。
PB6和7就能開啟神奇的旅途了,其配置步驟除了前面的端口復用兩個時鐘配置,還要使能AFIO時鐘,并且開啟(使能)重映射功能。
標簽: