接觸STM32F407芯片的總結(jié)
今天看了數(shù)據(jù)手冊的RCC部分和GPIO部分,在靈格斯的幫助下,還是能夠看懂的,因為它和STM32F1差不多,應(yīng)該是高級芯片的寄存器結(jié)構(gòu)都很類似,所以看起來不是那么的難懂,很多東西都是相通的。
本文引用地址:http://butianyuan.cn/article/201612/324410.htmGPIO部分,他的寄存器包括4個參數(shù)設(shè)置寄存器用來設(shè)置IO口的工作方式,兩個數(shù)據(jù)寄存器(一個輸入一個輸出),一個置位復(fù)位寄存器,一個LOCK寄存器,兩個功能選擇寄存器。寄存器的結(jié)構(gòu)是十分的清晰的,Configure寄存器用來設(shè)置工作方式,包括輸出、輸入、速度設(shè)置、上拉下拉設(shè)置等等,比Contex M3更加的方便,功能參數(shù)的設(shè)置更加的獨(dú)立,比如模式的設(shè)置,M3是每個IO口有四位,包括推挽輸出、開漏輸出等,而M4的MODER用來設(shè)置輸出還是輸出還是備用功能選擇,OTYPER用來設(shè)置輸出的模式:推挽輸出、開漏輸出。OSPEEDR用來設(shè)置IO口的速度,我個人感覺這樣獨(dú)立開來是有好處的,結(jié)構(gòu)更加的清晰,在代碼上更加容易操作,看起來更加容易懂。
RCC部分,有幾個時鐘來源。第一個事HSI,高速內(nèi)部時鐘源。第二個是HSE,高速外部時鐘源,就是外加的高頻晶振。第三個是PLL,HSI或者HSE的時鐘送到鎖相環(huán),經(jīng)過倍頻后輸出。第四個是LSE,低速外部時鐘源。第五個是LSI,低速內(nèi)部時鐘源。每種時鐘源都有其特殊的用途和特點。HSI是內(nèi)部RC振蕩器產(chǎn)生的,開啟穩(wěn)定時間更短,典型值為16M,但是不足之處是有誤差,1%的精確度。HSE是外部時鐘,需要外加晶振和助振電容,頻率值比較精確,不過開啟穩(wěn)定時間稍微長一些。鎖相環(huán)可以進(jìn)行時鐘的倍頻,得到更高的時鐘頻率,STM32F4最高可以達(dá)到168M的時鐘頻率。LSE的典型值為32768Hz,即手表晶振,給內(nèi)部的RTC提供時鐘源。LSI的典型值為32kHz左右,為IWDG和AWU等提供時鐘源。CPU復(fù)位以后,默認(rèn)時鐘源是HSI。
這只是粗略的紀(jì)錄一下自己今天看DateSheet的體會,若要得到精確的東西,還是要去參考DataSheet,ST公司做的DataSheet結(jié)構(gòu)還是挺清楚易懂的,個人感覺ST和TI做的DataSheet都很好,當(dāng)然,若要比較后期服務(wù)的話,還是TI做的更加好一些,各種資料,讓用戶只是能夠得心應(yīng)手的進(jìn)行“使用”工作!這一點很重要,拿到一個芯片,我就是一個使用者,我不需要過多的了解設(shè)計者應(yīng)該了解的東西,那樣對我來說沒有太大的意義!
評論