?🚩 WRITE IN FRONT 🚩???
- 🔎 介紹:"謓澤"正在路上朝著"攻城獅"方向"前進四" 🔎
- 🏅 榮譽:2021|2022年度博客之星物聯網與嵌入式開發TOP5|TOP4、2021|2022博客之星TOP100|TOP63、阿里云專家博主、掘金優秀創作者、全網粉絲量6w+、全網訪問量100w+ 🏅
- 🆔 文章內容由 謓澤 原創 如需相關轉載請提前告知博主 ?
- 📝 個人主頁:謓澤的博客?📃
- 📣 專欄系列:STM32-單片機謓澤的博客?📃
- 🎁 點贊👍+ 收藏??+ 留言📝?
- ?? 我們并非登上我們所選擇的舞臺,演出并非我們所選擇的劇本 📩
?
💕目錄
?suggest -建議
⒈STM32 - 簡介
⒉ARM - 介紹
?.? 內核
?.?拓展知識點
⒊STM32F103C8T6?
?.?片上資源&外設
?.?系統結構
?.?命名規則
⒋引腳定義
⒌STM32啟動配置
⒍最小系統電路??? ? ? ??
?suggest -建議
🥂博主對于學習STM32的建議如下?
⒈博主建議在學STM32之前可以做幾個五一的項目并且是要做成功的實物或仿真像博主就做過(智能小車之類的藍牙控制小車、紅外避障、超聲波舵機實現避障、學習機等之類的),五一的項目還是很多的,如果不確定的話可以去網上看看,說不定就看到有自己想做的東西了。
【單片機課設/畢設】51單片機智能小車(尋跡、避障、藍牙)詳細教程(基礎版)_嗶哩嗶哩_bilibili
https://www.bilibili.com/video/BV16S4y1C7ad/?spm_id_from=333.337.search-card.all.click&vd_source=37ee726c3aaae0e3f283d28b6fb39ed7只需22個例程 搞定初學入門 項目開發 學電51單片機視頻教程 純手敲教學_嗶哩嗶哩_bilibili只需22個例程 搞定初學入門 項目開發 學電51單片機視頻教程 純手敲教學共計55條視頻,包括:第01集-入門-學習機介紹、第02集-入門-安裝開發環境、第03集-入門-如何新建工程等,UP主更多精彩視頻,請關注UP賬號。
https://www.bilibili.com/video/BV1QU4y1t7JA/?spm_id_from=333.337.top_right_bar_window_custom_collection.content.click
⒉學習下STC8或STC15系列的單片機多接觸幾款學習一下(雖說它也是五一的)但是從功能方面來說它們還是有著很大的差別的,自己可以翻閱相關數據手冊看看就知道了,還有包括STC官方出的一些屠龍刀開發板之類都可以接觸下。
STC: 32位 8051 單片機創新者, ISP/IAP 技術創新者,中華有為:除了勝利,我們已無路可走 (stcmcudata.com)
⒊C語言一定要過關,尤其是C語言的一些高階知識點,STM32的C語言編程和STC89C52C語言編程不是一個level[水平]的。你去看STM32提供給的庫函數就知道,如果你想去理解它給你的這個函數是怎么去實現的。去學習它們給的庫函數是怎么去實現的我認為還是有必要的,這樣可以加深你對于代碼的理解。
鵬哥C語言的個人空間_嗶哩嗶哩_bilibili
⒋可以學習下數據結構這個其實對于你搞嵌入式的都是要接觸的一些算法,當然如果學過|有這基礎就更好了。數據結構與算法2022版零基礎教程數據結構和算法_嗶哩嗶哩_bilibili
⒌我不是非常贊同直接跳過五一學習STM32的這種。因為基礎還是要用的,等到你C51學習的差不多了,你學STM32就會輕松許多的。
51單片機入門教程-2020版 程序全程純手打 從零開始入門_嗶哩嗶哩_bilibili
【普中官方】51單片機手把手教學視頻(上)_嗶哩嗶哩_bilibili
【普中官方】51單片機手把手教學視頻(下)_嗶哩嗶哩_bilibili
????????說明?以上學習STM32的建議僅為博主的個人建議,如有說的不好或者你覺得不好的地方。那不好意思,你可以不采取博主的建議?
📅目錄??
⒈STM32 - 簡介
⒉ARM - 介紹
?.? 內核
?.?拓展知識點
⒊STM32F103C8T6?
?.?片上資源&外設
?.?系統結構
?.?命名規則
⒋引腳定義
⒌STM32啟動配置
⒍最小系統電路? ? ? ? ?
⒈STM32 - 簡介
STM32是ST公司基于ARM Cortex-M內核開發的32位微控制器。
- STM32也是一款單片機,32的意思表示這是一款32位的單片機相比與51單片機的8位來說的話。STM32的性能可以說是非常的強悍了👍
- ARM Cortex-M 是STM32的核心部分是ARM公司設計的。
STM32常應用在嵌入式領域,如智能車、無人機、機器人、無線通信、物聯網、工業控制、娛樂電子產品等。
STM32功能強大、性能優異、片上的資源豐富、功耗低,是一款經典的嵌入式微控制器。
?
上述圖中分別對應四種系列如下👇 1.高性能系列 2.主流系列 3.超低功耗系列 4.無線系列
⒉ARM - 介紹
STM32的單片機使用的是ARM Cortex-M的內核。
ARM公司是全球領先的半導體知識產權(IP)提供商,全世界超過95%的智能手機和平板電腦都采用ARM架構。
- 知識產權提供商的意思就是,這個ARM公司只是設計ARM內核而不生產實物的。實際的內核是各大半導體產商連同芯片一起制作出來的。ARM可以授權給各大廠商他的設計,然后對其進行授權費用作為盈利方式。
ARM公司設計ARM內核,半導體廠商完善內核周邊電路并生產芯片。
?
如上圖所示當中M系列主要用于單片機的領域,像STM32使用的就是M系列的內核。
在這里我大致介紹下"內核"這一詞在單片機當中是什么意思?
?.? 內核
單片機內核的作用可以簡單的理解成為用于執行存儲器中程序員寫的代碼。它可以按照代碼中的每條指令的要求進行處理。
?.?拓展知識點
⒈程序存儲器ROM的功能?ROM的數據在程序運行的時候是不容改變的,除非你再次燒寫程序,他就會改變,就像我們的書本,印上去就改不了了,除非再次印刷,這個就是ROM的原理。
⒉程序存儲器RAM的功能?RAM就是在程序運行中,數據會隨時改變的,就像我們的黑板,寫上了可以擦,擦完再寫上去,相當于程序運行的時候,調用ROM里面的數據進行各種運算。⒊STM32F103C8T6?
系列:主流系列STM32F1內核:ARM Cortex-M3主頻:72MHzRAM:20K(SRAM) 注:實際的存儲介質是SRAMROM:64K(Flash) 注:實際的存儲介質是Flash閃存供電:2.0~3.6V(標準3.3V) 注:五一是5V供電,還有USB輸出的電壓也是5V. 如果是5V電壓,那么還需要加上一個穩壓芯片把電壓降到3.3V.封裝:LQFP48
?
?.?片上資源&外設
這個片上資源又被稱之為是外設(peripheral)
?
上述圖中非常重要,務必了解清楚一下。學習STM32F1系列就是和這些外設打交道的。
🍎注→C8T6是沒有上述途中后面的四個外設的以及在上述圖當中前面兩個深顏色的是位于Cortex-M3內核里面的外設,剩下的都是內核外的外設。
?.?系統結構
這個芯片的結構還是比較復雜的初學的話大致了解一下即可?
?
?.?命名規則
?
⒋引腳定義
????????引腳定義是非常重要的,以后再學習STM32的時候我們會經常和這些引腳定義打交道。
?
????????說明?在上述圖中有一個小黑點代表著一號引腳,然后逆時針依次排列直到48號引腳為止。
????????拓展?SWDIO和SWCLK是用于調試和編程嵌入式系統的串行線接口。SWDIO是串行線數據輸入/輸出線,而SWCLK是串行線時鐘線。它們通常與SWD(Serial Wire Debug)協議一起使用,用于與微控制器或其他嵌入式設備進行通信和調試。?
引腳顏色標記
- 橙色代表的是電源相關的引腳。
- 藍色代表的是最小系統相關的引腳。
- 綠色的是IO口、功能口這些引腳。
類型
- S --> 電源
- I --> 輸入
- O --> 輸出
- IO --> 輸入輸出
IO口電平
- FT的代表能容納5V的電壓。
- 沒有FT的代表只能容納3.3V電壓。
⒌STM32啟動配置
說明?啟動配置的作用就是指定程序開始運行的位置,但是在某些情況下,我們也可以讓程序在別的地方開始執行。一般情況下,程序都是在Flash程序存儲器下開始執行的。
?
可以通過配置BOOT0和BOOT1的引腳,來選擇三種不同的啟動模式。
????????第一種模式當BOOT0引腳為0的話也就是接地的意思。這個時候無論BOOT1接什么,啟動模式都是主閃存存儲器模式。也就是說是正常執行Flash閃存里面的程序。這個模式是最常用的模式,一般情況下都會是這個模式。
📃注→接到1的話就是接到3.3V正電源的意思。
????????第二種模式一般我們需要串口下載程序的時候會配置到這個模式上的,在配置程序的時候我們應該小心點不能讓全部配置下載的IO口都變成了普通IO口,如果全部都是普通IO口的話這樣就會下載不進去程序了。
????????第三種模式配置的是內置SRAM啟動,這個模式主要是用來進行程序調試的。? ? ?
⒍最小系統電路??? ? ? ??
?
STM32的主晶振一般都是8MHZ然后經過內部鎖相環倍頻得到72MHZ的主頻。
如果需要RTC(實時時鐘)的功能的話,電路還需要接到32.768MHZ的晶振和上述圖一樣接法。連接到3、4號引腳,OSC32就是32.768MHZ。
?
? ? ? ? 說明?說明在上述圖片的穩壓芯片可能是AMS1117(lm1117) XC6204、XC6206等。?這些都是常用的穩壓芯片。