stm32學(xué)習(xí)記錄

定時(shí)器相關(guān)

定時(shí)器的時(shí)鐘來(lái)源
這里动分,定時(shí)器的時(shí)鐘來(lái)源有 4 個(gè):
1) 內(nèi)部時(shí)鐘(CK_INT)
2) 外部時(shí)鐘模式 1:外部輸入腳(TIx)
3) 外部時(shí)鐘模式 2:外部觸發(fā)輸入(ETR)辙纬,芯片手冊(cè)里面有寫(xiě)
4) 內(nèi)部觸發(fā)輸入(ITRx):使用 A 定時(shí)器作為 B 定時(shí)器的預(yù)分頻器(A 為 B 提供時(shí)鐘)罐韩。

中文參考手冊(cè)-P254頁(yè)

上面圖里的TIMxCLK是哪里來(lái)的捌归,最高時(shí)鐘72MHZ


中文參考手冊(cè)80頁(yè)

軟件上誰(shuí)來(lái)控制
TIMx_SMCR 寄存器

源碼分析

typedef struct
{
  uint16_t TIM_Prescaler;         
  uint16_t TIM_CounterMode;  
  uint16_t TIM_Period;            
  uint16_t TIM_ClockDivision; 
  uint8_t TIM_RepetitionCounter; 
} TIM_TimeBaseInitTypeDef;       

TIM_Prescaler ------> PSC寄存器

位15:0 PSC[15:0]:預(yù)分頻器的值 (Prescaler value)
計(jì)數(shù)器的時(shí)鐘頻率CK_CNT等于fCK_PSC/(PSC[15:0]+1)笛钝。
PSC包含了當(dāng)更新事件產(chǎn)生時(shí)裝入當(dāng)前預(yù)分頻器寄存器的值

所以定時(shí)器的時(shí)鐘頻率 = ck_int / (PSC[15:0]+1)


image.png

TIM_CounterMode----------> 計(jì)數(shù)的方式

TIM_Period--------------------->ARR 重裝載寄存器
在向上計(jì)數(shù)模式中垫卤,計(jì)數(shù)器從0計(jì)數(shù)到自動(dòng)加載值(TIMx_ARR計(jì)數(shù)器的內(nèi)容)社牲,
從下圖中看0也算一個(gè)周期甥厦,即arr的值如果為1纺铭,其實(shí)計(jì)數(shù)了2個(gè)定時(shí)周期。

TIM_ClockDivision ----------->CKD是對(duì)于輸入的分頻刀疙,在輸入捕獲的時(shí)候要用到舶赔,相當(dāng)于濾波

步進(jìn)電機(jī)

42步進(jìn)電機(jī)

藍(lán)A+,紅A-谦秧,綠B+竟纳,黑B-

image.png

時(shí)鐘相關(guān)

RCC_CFGR 來(lái)控制APB2,APB1和系統(tǒng)時(shí)鐘的關(guān)系油够,也就是分頻系數(shù)怎么確定


image.png

PWM輸出

有一個(gè)比較寄存器蚁袭,0-100向上計(jì)數(shù),比較寄存器的值是50的話(huà)石咬,周期相當(dāng)于就是100*定時(shí)器頻率揩悄, 占空比通過(guò)比較寄存器調(diào)整

Systeminit函數(shù)進(jìn)行初始化

PWM輸出的框圖


圖125 捕獲/比較通道的輸出部分(通道1)
110: PWM模式1- 在向上計(jì)數(shù)時(shí),一旦TIMx_CNT<TIMx_CCR1時(shí)通道1為有效電平(就是高電平)鬼悠,否則為
無(wú)效電平删性;在向下計(jì)數(shù)時(shí)亏娜,一旦TIMx_CNT>TIMx_CCR1時(shí)通道1為無(wú)效電平(OC1REF=0),否則為有效電平(OC1REF=1)蹬挺。

111: PWM模式2- 在向上計(jì)數(shù)時(shí)维贺,一旦TIMx_CNT<TIMx_CCR1時(shí)通道1為無(wú)效電平,否則為
有效電平巴帮;在向下計(jì)數(shù)時(shí)溯泣,一旦TIMx_CNT>TIMx_CCR1時(shí)通道1為有效電平,否則為無(wú)效電
平榕茧。
注1:一旦LOCK級(jí)別設(shè)為3(TIMx_BDTR寄存器中的LOCK位)并且CC1S=’00’(該通道配置成輸
出)則該位不能被修改垃沦。
注2:在PWM模式1或PWM模式2中,只有當(dāng)比較結(jié)果改變了或在輸出比較模式中從凍結(jié)模式
切換到PWM模式時(shí)用押, OC1REF電平才改變肢簿。

PWM1模式是CNT < CCR1,通道1為有效電平,但是最終輸出的電平通過(guò)誰(shuí)來(lái)控制呢蜻拨, CCER.CC1P
CCER:CC1P位:
0: OC1高電平有效
1: OC1低電平有效

如果PWM1模式池充,CCER:CC1P為0, 當(dāng)CNT < CCR1時(shí)就會(huì)輸出高電平缎讼,CCER:CC1P為1, 當(dāng)CNT < CCR1時(shí)收夸, 輸出低電平

PWM怎么設(shè)置
????必須通過(guò)設(shè)置TIMx_CCMRx寄存器的OCxPE位使能相應(yīng)的預(yù)裝載寄存器,最后還要設(shè)置TIMx_CR1寄存器的ARPE位休涤, (在向上計(jì)數(shù)或中心對(duì)稱(chēng)模式中)使能自動(dòng)重裝載的預(yù)裝載寄存器

void TIM_OC2PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload);//開(kāi)啟預(yù)裝載寄存器
OC1PE: 輸出比較1預(yù)裝載使能 (Output compare 1 preload enable)
0:禁止TIMx_CCR1寄存器的預(yù)裝載功能咱圆,可隨時(shí)寫(xiě)入TIMx_CCR1寄存器,并且新寫(xiě)入的數(shù)
值立即起作用功氨。
1:開(kāi)啟TIMx_CCR1寄存器的預(yù)裝載功能,讀寫(xiě)操作僅對(duì)預(yù)裝載寄存器操作手幢, TIMx_CCR1的
預(yù)裝載值在更新事件到來(lái)時(shí)被傳送至當(dāng)前寄存器中捷凄。

/*********************************************/
void TIM_ARRPreloadConfig(TIM_TypeDef* TIMx, FunctionalState NewState);

PWM對(duì)應(yīng)的gpio是哪一個(gè)引腳


image.png

PB5可以復(fù)用成定時(shí)器3通道2PWM輸出引腳


image.png

gpio口應(yīng)該怎么樣配置


image.png
    /*定時(shí)器的頻率是10KHZ, 計(jì)一個(gè)數(shù)0.1ms, */
    tim3_ch2_pwm_init(4999,7199, 2500);

串口通信

單工:
           數(shù)據(jù)傳輸只支持?jǐn)?shù)據(jù)在一個(gè)方向上傳輸
半雙工:
           允許數(shù)據(jù)在兩個(gè)方向上傳輸,但是围来,在某一時(shí)刻跺涤,只允許數(shù)
            據(jù)在一個(gè)方向上傳輸,它實(shí)際上是一種切換方向的單工通信监透;
全雙工:
           允許數(shù)據(jù)同時(shí)在兩個(gè)方向上傳輸桶错,因此,全雙工通信是兩個(gè)
           單工通信方式的結(jié)合胀蛮,它要求發(fā)送設(shè)備和接收設(shè)備都有獨(dú)立
           的接收和發(fā)送能力院刁。

同步通信:帶時(shí)鐘同步信號(hào)傳輸。
    -SPI粪狼,IIC通信接口
異步通信:不帶時(shí)鐘同步信號(hào)退腥。
    -UART(通用異步收發(fā)器),單總線(xiàn)

image.png
UART:通用異步收發(fā)器
USART:通用同步異步收發(fā)器

串口通信的過(guò)程


image.png

串口寄存器相關(guān)

引腳對(duì)應(yīng)關(guān)系


image.png
image.png

中斷優(yōu)先級(jí)分組

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末任岸,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子狡刘,更是在濱河造成了極大的恐慌享潜,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嗅蔬,死亡現(xiàn)場(chǎng)離奇詭異剑按,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)澜术,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)艺蝴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人瘪板,你說(shuō)我怎么就攤上這事吴趴。” “怎么了侮攀?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵锣枝,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我兰英,道長(zhǎng)撇叁,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任畦贸,我火速辦了婚禮陨闹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘薄坏。我一直安慰自己趋厉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布胶坠。 她就那樣靜靜地躺著君账,像睡著了一般。 火紅的嫁衣襯著肌膚如雪沈善。 梳的紋絲不亂的頭發(fā)上乡数,一...
    開(kāi)封第一講書(shū)人閱讀 49,821評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音闻牡,去河邊找鬼净赴。 笑死,一個(gè)胖子當(dāng)著我的面吹牛罩润,可吹牛的內(nèi)容都是我干的玖翅。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼烧栋!你這毒婦竟也來(lái)了写妥?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤审姓,失蹤者是張志新(化名)和其女友劉穎珍特,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體魔吐,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扎筒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了酬姆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嗜桌。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖辞色,靈堂內(nèi)的尸體忽然破棺而出骨宠,到底是詐尸還是另有隱情,我是刑警寧澤相满,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布层亿,位于F島的核電站,受9級(jí)特大地震影響立美,放射性物質(zhì)發(fā)生泄漏匿又。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一建蹄、第九天 我趴在偏房一處隱蔽的房頂上張望碌更。 院中可真熱鬧,春花似錦洞慎、人聲如沸痛单。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)桦他。三九已至,卻和暖如春谆棱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背圆仔。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工垃瞧, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人坪郭。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓个从,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子嗦锐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容