国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C/C++ stm32基礎(chǔ)知識超詳細(xì)講解(系統(tǒng)性學(xué)習(xí)day14)

這篇具有很好參考價(jià)值的文章主要介紹了C/C++ stm32基礎(chǔ)知識超詳細(xì)講解(系統(tǒng)性學(xué)習(xí)day14)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

前言

一、ARM和STM32是什么?

二、STM32的開發(fā)方式

三、GPIO----寄存器開發(fā)方式

1.八種輸入輸出模式分析

2.寄存器?

四、stm32芯片圖片

五、怎么學(xué)好stm32?

總結(jié)


前言

stm32的廣泛含義及背景:

STM32是一款由意法半導(dǎo)體(ST)公司開發(fā)的32位微控制器,其全稱是意法半導(dǎo)體32位系列微控制器芯片。STM32是基于Cortex-M內(nèi)核的32位單片機(jī),分為多個(gè)系列以滿足不同應(yīng)用場景的需求。

STM32微控制器是將微型計(jì)算機(jī)的主要部分集成在一個(gè)芯片上的單芯片微型計(jì)算機(jī),其誕生于20世紀(jì)70年代中期,經(jīng)過多年的發(fā)展,其成本越來越低,性能越來越強(qiáng)大,應(yīng)用已經(jīng)無處不在,遍及各個(gè)領(lǐng)域。

STM32系列是ST公司專為要求高性能、低成本、低功耗的嵌入式應(yīng)用設(shè)計(jì)的ARMCortex-M3內(nèi)核的32位單片機(jī)。STM32有很多系列,從內(nèi)核上分有Cortex-M0、M3、M4和M7等幾種,每個(gè)內(nèi)核又大概分為主流、高性能和低功耗等不同類型。其中STM32F系列有多個(gè)子系列,如STM32F103“增強(qiáng)型”系列、STM32F101“基本型”系列、STM32F105和STM32F107“互聯(lián)型”系列等。


一、ARM和STM32是什么?

(1)什么ARM?
?? ??? ?1,ARM是一家公司名字------專門做IP核------依靠專利授權(quán)盈利
?? ??? ?2,ARM是一系列基于ARM內(nèi)核設(shè)計(jì)的芯片的代稱

(2)ARM內(nèi)核的分類?
?? ??? ?ARM7,ARM9,ARM11
?? ??? ?Cortex-A ? ? ?主要應(yīng)用于計(jì)算量比較大,有交互性界面的領(lǐng)域 ?------電視機(jī),手機(jī),平板,投影儀,車載中控
?? ??? ?Cortex-R ? ? ?主要應(yīng)用實(shí)時(shí)性要求比較高的領(lǐng)域-----航空航天,汽車剎車
?? ??? ?Cortex-M ? ? ?主要用于微控制器(MCU)領(lǐng)域?

?(3)什么STM32?
? ? ? ? 單片機(jī)
?? ??? ?它是ARM Cortex-M3的芯片
?? ??? ?我們學(xué)習(xí)的芯片全稱:
?? ??? ??? ?STM32F103RCT6
?? ??? ??? ?STM32F407ZET6

? ? ? ? ??
(4)STM32F103RCT6的含義
?? ??? ?ST:意法半導(dǎo)體公司
?? ??? ?M:MCU
?? ??? ?32:32bit的CPU一次性處理數(shù)據(jù)的多少
?? ??? ?F103:編號
?? ??? ?R:引腳數(shù)量 pin ?64pin
?? ??? ?C:flash的大小----256KB ?注意:flash的大小和啟動(dòng)文件的選擇有關(guān)系
?? ??? ?T:封裝
?? ??? ?6:溫度等級

二、STM32的開發(fā)方式

? ? ? ? 常用的為以下四種開發(fā)方式:

? ? ? (1) 寄存器開發(fā):寄存器----具有特殊功能的內(nèi)存單元------寄存器開發(fā)是所有可編程邏輯芯?片所支持的一種開發(fā)方式
? ? ? ?(2)標(biāo)準(zhǔn)外設(shè)庫開發(fā):ST公司不再維護(hù)這種開發(fā)方式
? ? ? ?(3)Cube庫開發(fā):STM32CubeMX圖形化界面的軟件-----目前這種開發(fā)方式有兩個(gè)缺點(diǎn):? ?一,只支持ST公司的芯片,二代碼冗余特別多
? ? ? ?(4)LL庫開發(fā):不成熟

開發(fā)方式大比拼:
開發(fā)方式 開發(fā)難度 可維護(hù)性 代碼可執(zhí)行效率
寄存器開發(fā) 最難 最低 ?最高
標(biāo)準(zhǔn)外設(shè)庫開發(fā) 適中 適中 適中
Cube庫開發(fā) 最簡單 最高 最低
LL庫開發(fā) 較難 較低 較高

芯片里面有什么?

(1)內(nèi)核 ?----CPU
(2)片上外設(shè):外設(shè)位于芯片的內(nèi)部,內(nèi)核的外部
?? ??? ?(片外外設(shè):外設(shè)位于芯片的外部)
?? ??? ?單片機(jī)的開發(fā)實(shí)質(zhì):和內(nèi)核溝通,利用片上外設(shè)驅(qū)動(dòng)片外外設(shè)
?? ??? ?
?? ??? ?補(bǔ)充:
?? ??? ??? ?Cortex-M3的內(nèi)核是哈弗架構(gòu):數(shù)據(jù)和指令是分開存儲(chǔ)的
?? ??? ??? ??? ??? ??? ? ? ? 馮若依曼架構(gòu):數(shù)據(jù)和指令是不分開的

三、GPIO----寄存器開發(fā)方式

1.八種輸入輸出模式分析

? ? ? ? ?組件的作用:

? ? ? ? ?施密特觸發(fā)器----糾正電平
?? ??? ?上拉電阻:一個(gè)電阻,一端接到電源正極,一端接到信號線,這個(gè)電阻稱為這根信號線上的上拉電阻-----如果信號線沒有其他輸入,上拉電阻無壓降
?? ??? ?下拉電阻:一個(gè)電阻,一端接到電源負(fù),一端接到信號線,這個(gè)電阻稱為這根信號線上的下拉電阻

? ? ? ? 八種輸入輸出模式:
? ? ? ? (1)輸入浮空: ?沒有上拉電阻,沒有下拉電阻
?? ??? ??? ??? ??? ?輸入0: ?輸入數(shù)據(jù)寄存器中的值為0
?? ??? ??? ??? ??? ?輸入1: ?輸入數(shù)據(jù)寄存器中的值為1
?? ??? ??? ??? ??? ?沒有輸入時(shí): 輸入數(shù)據(jù)寄存器中的值為上一次狀態(tài)或者是復(fù)位值
? ? ? ? (2)輸入上拉: ?有上拉電阻,沒有下拉電阻
?? ??? ??? ??? ??? ?輸入0: ?輸入數(shù)據(jù)寄存器中的值為0
?? ??? ??? ??? ??? ?輸入1: ?輸入數(shù)據(jù)寄存器中的值為1
?? ??? ??? ??? ??? ?沒有輸入時(shí): 輸入數(shù)據(jù)寄存器中的值為1
? ? ? ? (3)輸入下拉: ?沒有上拉電阻,有下拉電阻
?? ??? ??? ??? ??? ?輸入0: ?輸入數(shù)據(jù)寄存器中的值為0
?? ??? ??? ??? ??? ?輸入1: ?輸入數(shù)據(jù)寄存器中的值為1
?? ??? ??? ??? ??? ?沒有輸入時(shí): 輸入數(shù)據(jù)寄存器中的值為0?? ?
? ? ? ?(4)模擬輸入:(是專門為ADC這個(gè)片上外設(shè)準(zhǔn)備的模式)?? ?,不經(jīng)過施密特觸發(fā)器,沒有上拉電阻,也沒有下拉電阻
?? ??? ??? ??? ??? ?電壓從芯片的引腳進(jìn)來后直接輸入到ADC片上外設(shè),由ADC片上外設(shè)處理
?? ??? ??? ??? ??? ?ADC的作用:用于讀取電壓值;當(dāng)需要讀不是0v或3.3v之外的電壓值時(shí)使用
?? ??? ??? ??? ??? ?
? ? ? ? (5)推挽輸出: 輸出數(shù)據(jù)寄存器寫0: 對應(yīng)引腳輸出低電平0V?? ??? ??? ?
?? ??? ??? ??? ? ? 輸出數(shù)據(jù)寄存器寫1: 對應(yīng)引腳輸出高電平3.3V
?? ??? ??? ??? ? ??
? ? ? ? (6)開漏輸出:不能輸出高電平
?? ??? ??? ??? ? ? 輸出數(shù)據(jù)寄存器寫0: 對應(yīng)引腳輸出低電平0V?? ??? ??? ?
?? ??? ??? ??? ? ? 輸出數(shù)據(jù)寄存器寫1: 對應(yīng)引腳輸出高阻
?? ??? ??? ??? ? ??
?? ??? ?復(fù)用:引腳受片上外設(shè)控制
?? ??? ?通用:引腳受CM3控制的輸出數(shù)據(jù)寄存器控制
?? ??? ?
? ? ? ? (7)復(fù)用推挽輸出: 片上外設(shè)的輸出數(shù)據(jù)寄存器寫0: 對應(yīng)引腳輸出低電平0V?? ??? ??? ?
?? ??? ??? ??? ? ? ? ? 片上外設(shè)的輸出數(shù)據(jù)寄存器寫1: 對應(yīng)引腳輸出高電平3.3V
?? ??? ??? ??? ? ??
? ? ? ? (8)復(fù)用開漏輸出:不能輸出高電平
?? ??? ??? ??? ? ? 片上外設(shè)的輸出數(shù)據(jù)寄存器寫0: 對應(yīng)引腳輸出低電平0V?? ??? ??? ?
?? ??? ??? ??? ? ? 片上外設(shè)的輸出數(shù)據(jù)寄存器寫1: 對應(yīng)引腳輸出高阻?? ?

2.寄存器?

(1)

? ? ? ?最大速度:電平翻轉(zhuǎn)的速度
?? ??? ?f(頻率)=1/T(周期)
?? ??? ?f(單位是HZ)
?? ??? ?T(單位是s)

(2)

? ? ? ?將寄存器reg的第n位清零: ?reg ?&=~(1<<n);
?? ? ? 將寄存器reg的第n位置1: ? reg ?|=(1<<n);?? ?
?? ??? ?判斷寄存器reg的第n位為0還是為1
?? ??? ?if(reg&(1<<n)){
?? ??? ??? ?reg的第n位為1;
?? ??? ?}else{
?? ??? ??? ?reg的第n位為0;
?? ??? ?}

(3)

? ? ? ? 如果點(diǎn)亮紅色的燈
?? ??? ?1,配置GPIOC的CRH寄存器的第3---0位配置成0010
?? ??? ?2,配置GPIOC的ODR寄存器的第8位配置成0

四、stm32芯片圖片

C/C++ stm32基礎(chǔ)知識超詳細(xì)講解(系統(tǒng)性學(xué)習(xí)day14),stm32學(xué)習(xí),Ubantu和C語言學(xué)習(xí),學(xué)習(xí)

五、怎么學(xué)好stm32?

學(xué)好STM32需要掌握以下基本技能和步驟:

  1. 熟練掌握C語言:STM32開發(fā)的核心語言是C語言,因此熟練掌握C語言是學(xué)好STM32開發(fā)的基礎(chǔ)。
  2. 學(xué)習(xí)并掌握一種開發(fā)環(huán)境:常見的STM32開發(fā)環(huán)境有Keil、IAR等,選擇適合自己的開發(fā)環(huán)境,并熟練掌握其使用方法。
  3. 學(xué)習(xí)并掌握一種調(diào)試工具:常用的調(diào)試工具包括JTAG、SWD等,熟練掌握這些調(diào)試工具的使用方法,可以幫助你更好地調(diào)試代碼。
  4. 學(xué)習(xí)庫函數(shù)和寄存器:STM32的庫函數(shù)和寄存器是實(shí)現(xiàn)其功能的關(guān)鍵,因此需要深入學(xué)習(xí)并理解庫函數(shù)和寄存器的使用方法。
  5. 學(xué)習(xí)基本外設(shè)和高級功能:STM32有許多基本外設(shè)和高級功能,如GPIO、定時(shí)器、串口、SPI、IIC、WDG、FSMC、ADC/DAC等,需要了解并掌握這些外設(shè)和功能的基本原理和使用方法。
  6. 系統(tǒng)學(xué)習(xí):可以通過購買開發(fā)板、開發(fā)板配套視頻教程、開發(fā)板配套源碼和芯片官方手冊進(jìn)行系統(tǒng)學(xué)習(xí)。同時(shí),要善于利用網(wǎng)絡(luò)資源,如論壇、博客等,進(jìn)行學(xué)習(xí)交流。
  7. 多實(shí)踐、多動(dòng)手:學(xué)習(xí)STM32開發(fā)不能只停留在理論層面,需要多動(dòng)手實(shí)踐,編寫代碼、調(diào)試程序,從實(shí)踐中學(xué)習(xí)和積累經(jīng)驗(yàn)。
  8. 注重學(xué)習(xí)方法:學(xué)習(xí)STM32開發(fā)需要注重學(xué)習(xí)方法,例如如何查找資料、如何提問、如何解決問題等。要學(xué)會(huì)獨(dú)立思考和解決問題,避免過度依賴他人。

總之,學(xué)好STM32需要付出努力和時(shí)間,需要掌握基本技能和知識,同時(shí)注重實(shí)踐和學(xué)習(xí)方法,不斷提高自己的編程和調(diào)試能力。


總結(jié)

關(guān)于C/C++ stm32基礎(chǔ)知識的超詳細(xì)講解,懶大王就先分享到這里了,如果你認(rèn)為這篇文章對你有幫助,請給懶大王點(diǎn)個(gè)贊點(diǎn)個(gè)關(guān)注吧,如果發(fā)現(xiàn)什么問題,歡迎評論區(qū)留言?。????????文章來源地址http://www.zghlxwxcb.cn/news/detail-756505.html

到了這里,關(guān)于C/C++ stm32基礎(chǔ)知識超詳細(xì)講解(系統(tǒng)性學(xué)習(xí)day14)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • STM32基礎(chǔ)知識(三)-- 系統(tǒng)時(shí)鐘RCC詳解

    STM32基礎(chǔ)知識(三)-- 系統(tǒng)時(shí)鐘RCC詳解

    本文主要探討STM32中比較重要的一個(gè)基礎(chǔ)知識,RCC系統(tǒng)時(shí)鐘,系統(tǒng)時(shí)鐘也就是CPU的脈搏,決定CPU的速率,被譽(yù)為芯片的心跳,之后再文章中將會(huì)結(jié)合《STM32F10X-中文參考手冊》進(jìn)行介紹時(shí)鐘樹以及相關(guān)知識。 參考手冊獲取方式在上一篇博客中介紹 (1)RCC – 復(fù)位和時(shí)鐘控制器

    2024年02月11日
    瀏覽(23)
  • 【明解STM32】中斷系統(tǒng)理論基礎(chǔ)知識篇之中斷寄存器功能原理

    【明解STM32】中斷系統(tǒng)理論基礎(chǔ)知識篇之中斷寄存器功能原理

    目錄 一、前言 二、寄存器概述 三、NVIC寄存器組 四、SCB寄存器組 五、中斷屏蔽寄存器組 六、總結(jié) ????????在之前的STM32的中斷系統(tǒng)理論基礎(chǔ)知識之基本原理及NVIC中,分別中斷的基本原理,中斷的管理機(jī)制和中斷的處理流程進(jìn)行了較為詳細(xì)的論述,讀者通過全篇的閱讀了

    2024年02月16日
    瀏覽(33)
  • 【明解STM32】中斷系統(tǒng)理論基礎(chǔ)知識篇之中斷基本原理及NVIC

    【明解STM32】中斷系統(tǒng)理論基礎(chǔ)知識篇之中斷基本原理及NVIC

    目錄 一、前言 二、基本原理概述 1、中斷的作用 2、中斷和異常 3、NVIC中斷控制器 4、中斷的分類 三、中斷管理機(jī)制 1、中斷向量 2、中斷優(yōu)先級 3、中斷嵌套 四、中斷處理流程 五、總結(jié) ????????中斷是什么?舉個(gè)例子來說,當(dāng)我們正在工作時(shí),突然電話響了,這時(shí)你會(huì)把

    2024年02月05日
    瀏覽(24)
  • STM32-02-STM32基礎(chǔ)知識

    STM32-02-STM32基礎(chǔ)知識

    STM32F103 STM32F103是ST公司基于ARM授權(quán)Cortex M3內(nèi)核而設(shè)計(jì)的一款芯片,而 Cortex M內(nèi)核 使用的是 ARM v7-M架構(gòu) ,是為了替代老舊的單片機(jī)而量身定做的一個(gè)內(nèi)核,具有低成本、低功耗、實(shí)時(shí)性好、中斷響應(yīng)快、處理效率高等特點(diǎn)。 架構(gòu) 、 內(nèi)核 、 芯片 的關(guān)系: 架構(gòu) : (ARMv7-M)

    2024年02月03日
    瀏覽(21)
  • 【正點(diǎn)原子STM32】STM32基礎(chǔ)知識(F1F4F7H7 STM32系統(tǒng)框架、尋址范圍、存儲(chǔ)器映射的存儲(chǔ)器功能劃分、寄存器映射)

    【正點(diǎn)原子STM32】STM32基礎(chǔ)知識(F1F4F7H7 STM32系統(tǒng)框架、尋址范圍、存儲(chǔ)器映射的存儲(chǔ)器功能劃分、寄存器映射)

    一、STM32系統(tǒng)框架 1.1、Cortex M內(nèi)核 芯片 1.2、F1系統(tǒng)架構(gòu) 1.3、F4系統(tǒng)架構(gòu) 1.4、F7系統(tǒng)架構(gòu) 1.5、H7系統(tǒng)架構(gòu) 二、STM32的尋址范圍? 三、存儲(chǔ)器映射 存儲(chǔ)器功能劃分(F1為例) STM32F1存儲(chǔ)器映射圖 四、寄存器映射 寄存器基礎(chǔ)知識 STM32寄存器分類 寄存器映射(F1為例) 寄存器描述解

    2024年02月21日
    瀏覽(27)
  • 【STM32】基礎(chǔ)知識 第二課 初識 STM32

    【STM32】基礎(chǔ)知識 第二課 初識 STM32

    ARM 公司: 只做內(nèi)核設(shè)計(jì)和 IP 授權(quán), 不參與芯片設(shè)計(jì). 對比項(xiàng) Cortex-A (Application) Cortex-R (Real-time) Cortex-M (Microcontroller) 特點(diǎn) 高時(shí)鐘頻率, 長流水線, 高性能 較高時(shí)鐘頻率, 較長的流水線, 實(shí)時(shí)性強(qiáng) 時(shí)鐘頻率較低, 通常較短的流水線, 超低功耗 應(yīng)用場景 移動(dòng)計(jì)算, 智能手機(jī), 平板電腦

    2024年02月02日
    瀏覽(42)
  • 【STM32】基礎(chǔ)知識 第五課 C 語言基礎(chǔ)知識

    【STM32】基礎(chǔ)知識 第五課 C 語言基礎(chǔ)知識

    stdint.h 是從 C99 中引進(jìn)的一個(gè)標(biāo)準(zhǔn) C 庫的文件. 路徑: “D:MDK5.34ARMARMCCinclude” 運(yùn)算符 含義 運(yùn)算符 含義 按位與 ~ 按位取反 | 按位或 左移 ^ 按位異或 右移 按位與: num1 運(yùn)算符 num2 結(jié)果 0 0 0 1 0 0 0 1 0 1 1 1 按位或: num1 運(yùn)算符 num2 結(jié)果 0 | 0 0 1 | 0 1 0 | 1 1 1 | 1 1 按位異或: num1 運(yùn)算符

    2024年02月13日
    瀏覽(52)
  • stm32中斷的基礎(chǔ)知識

    stm32中斷的基礎(chǔ)知識

    某些事件可能需要CPU暫停目前的程序優(yōu)先處理 實(shí)現(xiàn)CPU暫停當(dāng)前的程序并優(yōu)先處理某一事件的機(jī)制稱作中斷 處理這一事件的程序叫做中斷服務(wù)程序(Interrupt Handler) 中斷的硬件實(shí)現(xiàn) 內(nèi)部或外部信號產(chǎn)生中斷 —程序跳轉(zhuǎn)到某一特定地址(中斷向量) —程序從中斷向量跳轉(zhuǎn)到對

    2023年04月24日
    瀏覽(24)
  • STM32 串口基礎(chǔ)知識學(xué)習(xí)

    STM32 串口基礎(chǔ)知識學(xué)習(xí)

    串行通信:數(shù)據(jù)逐位按順序依次傳輸。 并行通信:數(shù)據(jù)各位通過多條線同時(shí)傳輸。 對比 傳輸速率:串行通信較低,并行通信較高。 抗干擾能力:串行通信較強(qiáng),并行通信較弱。 通信距離:串行通信較長,并行通信較短。 IO資源占用:串行通信較少,并行通信較多。 成本:

    2024年02月15日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包