STM32入門教程-2023持續(xù)更新中

新建工程
添加文件路徑
設(shè)置Define

-------
,較強(qiáng)驅(qū)動(dòng),絕對控制
長腳+,短腳-
內(nèi)部,較小+;較大-
Setbits:設(shè)置高電平
Resetbits:設(shè)置低電平
Writebit:利用枚舉值設(shè)置端口
Bit_RESET低電平
Bit_SET高電平
---
中斷,傳感器計(jì)次
- 模塊函數(shù)庫(countsensor)
- 初始化模塊(配置外部中斷);
- RCC;
- GPIO;中斷信號輸入,參考數(shù)據(jù)手冊GPIO 8.1.1
- AFIO;中斷引腳選擇EXITLINEConfig
- EXTI;邊沿觸發(fā)方式+觸發(fā)響應(yīng)方式;
- NVIC;合適優(yōu)先級和分組;
- 中斷函數(shù)IRQHandler;
- 中斷標(biāo)志位判斷;
- 清除中斷標(biāo)志位;
調(diào)試模式,檢測中斷函數(shù)是否正常進(jìn)行
---
計(jì)數(shù)計(jì)時(shí)電路,時(shí)基單元;
基本定時(shí)器,只能連接內(nèi)部時(shí)鐘CK-INT,基準(zhǔn)頻率72MHz
16位預(yù)分頻器,最大2的16次方-165535
計(jì)數(shù)器,計(jì)數(shù)時(shí)鐘上升沿,增加到目標(biāo)值時(shí),申請中斷;
自動(dòng)重裝寄存器:存儲目標(biāo)值(自動(dòng)重裝值);申請中斷后,計(jì)數(shù)值清零;
更新事件映射到TRGO,硬件自動(dòng),無需軟件申請中斷;
自動(dòng)重裝計(jì)數(shù)(通用;高級)
3種模式
向上計(jì)數(shù):0-n+中斷;0-n+
向下計(jì)數(shù):5>0中斷;5>0;
中央對齊計(jì)數(shù):0-n中斷n-0中斷;
內(nèi)部時(shí)鐘f72Hz;
外部:ETR(引腳圖)>ETRF;
TRGI(觸發(fā)定時(shí)器從模式);ETR,ITR
(表78)
方式1:CH1>TIIF_ED上升沿,下降沿均可觸發(fā);
方式2:TIFP
4引腳
測輸入波頻率
區(qū)別申請中斷;重復(fù)次數(shù)計(jì)數(shù)器;多個(gè)周期后申請中斷
預(yù)分頻控制,預(yù)分頻緩沖寄存器;
CK_CNT=CK_PSC/(PSC+1)
定時(shí)器頻率,內(nèi)部時(shí)鐘頻率;預(yù)分頻器
計(jì)數(shù)器溢出,既是計(jì)數(shù)器達(dá)到目標(biāo)值;
計(jì)算計(jì)數(shù)時(shí)間=溢出頻率倒數(shù)
ARR
影子寄存器;防止事件觸發(fā)條件DUG
***
- RCC
- 時(shí)基單元的時(shí)鐘源
- 配置時(shí)基單元
- ETR外部時(shí)鐘和TIx有什么區(qū)別?????
- ?[6-2] 定時(shí)器定時(shí)中斷&定時(shí)器外部時(shí)鐘 P14 - 07:59?
- 時(shí)基單元;結(jié)構(gòu)體,有單獨(dú)函數(shù)
- 中斷使能;
- 中斷優(yōu)先級分組NVIC;
- 使能定時(shí)器;
跨文件變量;
嘗試;
---
PWM
高低電平的選擇;
占空比;
和步距有關(guān);
連續(xù)變化波形

ARR 自動(dòng)重裝寄存器
CNT 計(jì)數(shù)器
練習(xí):1KHz,占空比可調(diào);分辨率1%
1000=72000000/720/100
CCR可調(diào);
1/100
OC OutCompare
---
7_ADC
最大14MHz,
只能6,8分頻
如果外部電壓過小怎么辦?-www-
- RCC CLOCK ADC,GPIO,ADCCLK,ADC的分頻器;
- GPIO模擬輸入;RCC
- 多路開關(guān);接入規(guī)則組;
- ADC轉(zhuǎn)換;轉(zhuǎn)換模式,通道數(shù),觸發(fā)源,數(shù)據(jù)對齊;
- 模擬看門狗,配置閾值;
- ADC開關(guān)控制;
- ADC校準(zhǔn);
---
DMA
---
串口通信
TTL電平
8+1=9位,數(shù)據(jù)+校驗(yàn)
因?yàn)?,異步,所以波特?/p>
校驗(yàn):奇校驗(yàn)、
計(jì)算DIV
+
查詢、接收
---
I2C
優(yōu)點(diǎn):
1.半雙工->SDA(單線路)
2.應(yīng)答機(jī)制
3.接多個(gè)模塊,且不干擾(一主多從,多主多從)
4.傳輸不可中斷
USART對硬件要求嚴(yán)格,
5.同步時(shí)序協(xié)議,時(shí)鐘線可以暫停->SCL(clock)
硬件電路
SCL SDA開漏輸出,都加一個(gè)上拉電阻
時(shí)序單元

高位先行

應(yīng)答機(jī)制
I2C
起始條件,終止條件,發(fā)送一個(gè)字節(jié),接受一個(gè)字節(jié),發(fā)送應(yīng)答,接受應(yīng)答
指定地址寫
從機(jī)擁有一個(gè)唯一的設(shè)備地址,通過第一個(gè)字節(jié)(8位數(shù)據(jù))判斷接收方,7/10位地址,規(guī)定地址,或者改變電路改變后幾位來改變地址
if7位地址,START:7位地址,之后0/1讀/寫,之后應(yīng)答
指定地址讀,
復(fù)合格式,
指定地址寫的前半部分(可以接受可以不結(jié)束),指定地址指針,之后重新起始,開始讀數(shù)據(jù)
當(dāng)前地址讀
{地址指針在讀或者寫之后都會自增1}
---
SPI
SCK=SCLK=CLK=CK;時(shí)鐘線
MOSI&MISO=DO=DI;全雙工
SS=NSS=CS;一主多從,從機(jī)選擇,同一時(shí)間只能選擇一個(gè)從機(jī);
從機(jī)可能存在沖突;ss為高電平時(shí)(從機(jī)不響應(yīng)時(shí))MISO均為高阻態(tài),從機(jī)不輸出;
WEL(Write enable latch)