當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]作為一個STM32的菜鳥級人物,我剛開始接觸STM32時,其實和當(dāng)年開始學(xué)習(xí)51單片機的心理是一樣的。茫然,誰說不是呢?但是,正常的學(xué)習(xí)途徑無非就是看書,然后敲代碼,最后燒程序,有問題就check,然后再繼續(xù)燒,我都懷

作為一個STM32的菜鳥級人物,我剛開始接觸STM32時,其實和當(dāng)年開始學(xué)習(xí)51單片機的心理是一樣的。茫然,誰說不是呢?但是,正常的學(xué)習(xí)途徑無非就是看書,然后敲代碼,最后燒程序,有問題就check,然后再繼續(xù)燒,我都懷疑我快成了火頭工。因為在我的印象中,只有這類職業(yè)才和“燒”有著密不可分的聯(lián)系。即使當(dāng)一名敬業(yè)又牛逼的火頭工是我畢生的夢想。OK,不侃了。我希望,通過寫日志把我作為一個菜鳥在學(xué)習(xí)STM32中的問題記錄下來,同時以我為鑒,規(guī)避那些沒有必要的破事。

1. 學(xué)習(xí)STM32要不要基礎(chǔ)

原則上它應(yīng)該是需要的,但是,我們也能發(fā)現(xiàn)很多人也是沒有基礎(chǔ)的。比如說,我們實驗室的大師兄原來是管理專業(yè),但是現(xiàn)在相當(dāng)牛逼,軟硬皆通。如果你和很多致力于在技術(shù)領(lǐng)域中作出一番成就的人一樣,你必須記住:你再也不能任性地說要給自己一大塊時間系統(tǒng)地學(xué)習(xí)知識,不現(xiàn)實。更多的時候,情況是:敲代碼時需要什么你就去找相應(yīng)的“部分知識”,然后搞明白,解決當(dāng)前的問題。就是這樣。

2. 學(xué)習(xí)STM32需要什么基礎(chǔ)


理論上,需要數(shù)字電路,模擬電路,C語言編程基礎(chǔ),單片機會一點就更好了,這樣的話會能適應(yīng)STM32的編程開發(fā)思路。不過幫助不大,這也是我要寫“淺談時鐘問題”的原因。而我的情況是,全都學(xué)過,但你看清楚,只是學(xué)過而已。關(guān)于數(shù)字電路和模擬電路這種課程,我也是記不得什么了。好在我們實驗室,技術(shù)方面的書從來不缺。

3. 學(xué)習(xí)STM32對性別有要求嗎

一般,女生都會問這個問題。我也問過,所以你就知道我為什么能成為“婦女之友”了。玩笑玩笑啦。其實沒有,女生在這方面有先天性的優(yōu)勢,心思細(xì)膩,稍一轉(zhuǎn)化,這就是態(tài)度認(rèn)真的同義詞。而且,世界上第一個程序員是女性。行啦,女同學(xué)別得瑟了?。?!

4. 進(jìn)入正題

STM32的新手,一般都會對一個問題很糾結(jié)。我也是,就是所謂的”時鐘問題“。我們在盡心STM32編程時,會痛苦地發(fā)現(xiàn)這樣一個事實:不管你要干嘛,你首先要做的一件事就是使能時鐘。而且可能每一次的時鐘還是不同的。你就會問:為什么要使能時鐘?為什么每次使能的時鐘還不一樣呢?為什么51單片機中沒有這些鬼?

在學(xué)51單片機的時候,基本上接觸不到I/O方向和外設(shè)時鐘的概念,I/O想輸入就直接讀,想輸出就直接賦值,串口、AD轉(zhuǎn)化、外部中斷等等也都是想用就用,不需要單獨配置時鐘。這樣在初學(xué)時的確方便了很多,不需要有亂七八糟的設(shè)置就能讓芯片跑起來,但是隨之帶來的就是所謂的功耗問題。但是作為初學(xué)者,誰他媽還管這個???能讓程序跑起來就已經(jīng)讓我們興奮得幾個晚上睡不著覺了。說這話不太合適,但事實上很多芯片生產(chǎn)廠商也不考慮這個問題。

可是隨著電子產(chǎn)品集成度越來越高,功耗和發(fā)熱越來越嚴(yán)重,芯片廠商非常無奈也在開始想辦法避免這個問題,而最直接的思路當(dāng)然就是用多少功能就使能多少功能,對每個外設(shè)的時鐘都設(shè)置了開關(guān),讓用戶可以精確地控制,關(guān)閉不需要的設(shè)備,達(dá)到節(jié)省供電的目的。如果不用的就完全關(guān)閉,盡可能降低芯片功耗,所以就出現(xiàn)了這么多的時鐘和IO配置。說白了,時鐘的功能就好像是一個小開關(guān),你要用什么寄存器就先對應(yīng)的打開開關(guān),即:使能對應(yīng)的時鐘。

實際上,在這里面還涉及到一個時鐘門控技術(shù),而這又涉及到同步電路,我們都知道(默認(rèn)你們都知道)在同步電路中總是有一個時鐘控制。這里我就不贅述了,如果你和我一樣是一個強迫癥患者,請你回去翻翻一本叫《數(shù)字電子技術(shù)基礎(chǔ)》的書,你一定可以找到答案的,相信我吧。

到這里你就差不多能夠理解為什么STM32編程需要不斷地使能時鐘了,因為默認(rèn)情況下這些時鐘都是disable的。你要使用它,當(dāng)然需要enable了。如果再不明白,我就想罵了:寄存器是由D觸發(fā)器組成的,只有送來了時鐘,觸發(fā)器才能被改寫值,這樣寄存器才能工作。只不過,在51單片機一個時鐘系統(tǒng)把一切都包了,在STM32中,我們很明確地做好了分工,讓大家各司其職,其實這樣還有一個好處就是,不是每個外設(shè)都需要系統(tǒng)時鐘那么高的頻率,就好像是:哪個公司會讓CEO去做底層代碼工作一樣。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉