找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3409|回復(fù): 2
收起左側(cè)

STM32超詳細(xì)學(xué)習(xí)筆記、總結(jié)

[復(fù)制鏈接]
ID:948900 發(fā)表于 2021-8-13 20:44 | 顯示全部樓層 |閱讀模式
6、 MCO[2:0]可以提供4源不同的時鐘同步信號;

7、 GPIO口貌似有兩個反向串聯(lián)的二極管用作鉗位二極管;

8、 總線矩陣采用輪換算法對系統(tǒng)總線和DMA進(jìn)行仲裁

9、 ICode總線,DCode總線、系統(tǒng)總線、DMA總線、總線矩陣、AHB/APB橋

10、在使用一個外設(shè)之前,必須設(shè)置寄存器RCC_AHBENR來打開該外設(shè)的時鐘

11、數(shù)據(jù)字節(jié)以小端存儲形式保存在存儲器中

12、 內(nèi)存映射區(qū)分為8個大塊,每個塊為512MB

13、 FLASH的一頁為1K(小容量和中容量),大容量是2K。

14、 系統(tǒng)存儲區(qū)(SystemMemory)為ST公司出廠配置鎖死,用戶無法編輯,用于對FLASH區(qū)域進(jìn)行重新編程。所以我們燒寫程序務(wù)必選擇BOOT1 = 0,這樣通過內(nèi)嵌的自舉程序?qū)LASH進(jìn)行燒寫,比如中斷向量表和代碼

15、 STM32核心電壓為1.8V

16、 STM32復(fù)位有三種:系統(tǒng)復(fù)位、上電復(fù)位、備份區(qū)域復(fù)位。其中系統(tǒng)復(fù)位除了RCC_CSR中的復(fù)位標(biāo)志和BKP中的數(shù)值不復(fù)位之外,其他的所有寄存器全部復(fù)位。觸發(fā)方式例如外部復(fù)位、看門狗復(fù)位、軟件復(fù)位等;電源復(fù)位由于外部電源的上電/掉電復(fù)位或者待機(jī)模式返回。復(fù)位除了BKP中的寄存器值不動,其他全部復(fù)位;備份區(qū)域復(fù)位的觸發(fā)源為軟件復(fù)位或者VDD和VBAT全部掉電時。

17、 單片機(jī)復(fù)位后所有I/O口均為浮空輸入狀態(tài)

18、 68個可屏蔽中斷通道,16個可編程優(yōu)先級,16個內(nèi)核中斷,一共68+16=84個中斷。103系列只有60個中斷,107系列才有68個中斷

19、 系統(tǒng)啟動從0x00000004開始,0x000 0000保留

20、 (NestedVectored Interrupt Controller)NVIC嵌套向量中斷控制器,分為兩種:搶先式優(yōu)先級(可嵌套)和中斷優(yōu)先級(副優(yōu)先級,不能嵌套)。兩種優(yōu)先級由4位二進(jìn)制位決定。分配下來有十六種情況:


21、0號搶先優(yōu)先級的中斷,可以打斷任何中斷搶先優(yōu)先級為非0號的中斷;1號搶先優(yōu)先級的中斷,可以打斷任何中斷搶先優(yōu)先級為2、3、4號的中斷;……;構(gòu)成中斷嵌套。如果兩個中斷的搶先優(yōu)先級相同,誰先出現(xiàn),就先響應(yīng)誰,不構(gòu)成嵌套。如果一起出現(xiàn)(或掛在那里等待),就看它們2個誰的子優(yōu)先級高了,如果子優(yōu)先級也相同,就看它們的中斷向量位置了。原來中斷向量的位置是最后的決定因素。。!

22、 上電初始化后AIRC初始化為0,為16個搶先式優(yōu)先級,但是由于所有的外部通道中斷優(yōu)先級控制字PRI_n為0,所以搶先式優(yōu)先級相同,此時就不能嵌套了

23、 NVI中有ISER[2](Interrupt Set-Enable Registers),ICER[2](Interrupt Clear-Enable Registers),ISPR[2](Interrupt Set-Pending Registers),ICPR[2](Interrupt Clear-Pending Registers),IABR[2](Active Bit Registers),IPR[15](InterruptPriority Registers)定義。其中ISER和ICER分別為中斷使能和中斷失能寄存器,都是寫1來使能/失能中斷的。為什么寫1?為什么不采用一個寄存器而用兩個寄存器來表示中斷使能/失能狀態(tài)?由于硬件,寫0比較復(fù)雜,并且可能造成其他位的狀態(tài)改變,所以用1來表示打開或者關(guān)斷是比較合理的

24、 中斷標(biāo)志位需要手動清除;

25、 配置外圍器件的一般步驟:1、打開端口時鐘。2、定義初始化結(jié)構(gòu)體并初始化。3、調(diào)用

26、串口的奇偶校驗:如果是奇偶校驗,那么USART_InitStructure.USART_WordLength= USART_WordLength_9b;這個數(shù)據(jù)的長度必須設(shè)定為9位!

27、ADC的規(guī)則組可以自定義轉(zhuǎn)換通道順序和轉(zhuǎn)換的通道個數(shù)。在實際應(yīng)用中,有時候希望有一些特別的通道具有很高的優(yōu)先權(quán),需要在規(guī)則組進(jìn)行轉(zhuǎn)換的時候強制打斷,進(jìn)行另一個通道的轉(zhuǎn)換,這樣一組通道,叫做注入組。

28、定時器的輸出比較模式:Timing(凍結(jié),什么都不做,普通定時),Active(OCxREF輸出高電平有效),Inactive(OCxREF輸出低電平),Toggle(比較成功后翻轉(zhuǎn)電平)。

29、STM32的定時器從0開始計數(shù),滿足一些條件,給出標(biāo)志位(比如匹配成功、時間更新、溢出等)然后從0開始計數(shù)。這一點和51不同。

30、OCx=OCxREF+極性

31、自動裝載寄存器和影子寄存器:前者相當(dāng)于51當(dāng)中的溢出設(shè)定數(shù)值。而影子寄存器顧名思義是影子,就是寄存器的另一分copy。實際起作用的是影子寄存器,而程序員操縱的則是自動裝載寄存器。如果APPE位使能,表明自動裝載寄存器的值在下一次更新事件發(fā)生后才寫入新值。否則,寫入自動裝載寄存器的值會被立即更新到影子寄存器。

32、RCC_PCLK1Config(RCC_HCLK_Div4);PCLK1的4分頻給定時器基準(zhǔn)時鐘

33、定時器配置:RCC、NVIC、GPIO(OC輸出或者PWM)、TIMx

34、通用定時器可以輸出4路不同的PWM,高級定時器可以輸出4路不同的PWM外,還可以輸出3路互補的PWM信號(驅(qū)動三相電機(jī)),一共有7路。這樣算出來STM32可以產(chǎn)生30路PWM=72+4

————————————————————————————————————————————————————————
更多詳細(xì)筆記在文件里,網(wǎng)上轉(zhuǎn)的:
STM32學(xué)習(xí)筆記.docx (35.95 KB, 下載次數(shù): 62)



回復(fù)

使用道具 舉報

ID:584195 發(fā)表于 2021-8-14 09:16 | 顯示全部樓層
感謝分享,非常感謝,從原作者的筆記里看到樓主的用心學(xué)習(xí)!
回復(fù)

使用道具 舉報

ID:830831 發(fā)表于 2021-8-14 10:28 | 顯示全部樓層
非常感謝,感謝分享!很詳盡
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表