精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

學習編程時最常見的問題:如何盡可能有效地處理新信息,如何保持動力

lPCU_elecfans ? 來源:未知 ? 作者:李倩 ? 2018-07-31 10:55 ? 次閱讀

學習一直都是不容易的,在工程師的世界里可能是更加的需要我們付出時間和精力。而學習能力在現(xiàn)在這個時代又是顯得十分的重要,相信許多燒友們對編程的學習也是十分感興趣的,或者正在學習的過程中。所有小編今天特別整理了一份滿滿的干貨給到小伙伴們學習和借鑒。

我知道現(xiàn)在有成千上萬的資源可以“教你如何編碼”。但是,這絕對不是這里最重要的部分,也不是這篇文章的主題。重要的是你如何建立起良好的學習習慣,如何更好的吸收處理新知識,時刻保持自己的學習動力,并把注意力放在核心問題上。

如果你愿意遠離你的舒適區(qū)!你一定會為學習到新知識而感到興奮,并且能獲得優(yōu)越感,久而久之,你也一定會成為一名優(yōu)秀的開發(fā)者

我已經(jīng)有多年的執(zhí)教經(jīng)驗,當我的學生告訴我他們沒有動力的時候,我經(jīng)常看到一種現(xiàn)象,他們只執(zhí)著于最終的大目標,而忽視了每一次小小的進步,這讓他們始終覺得離目標很遠,從而導致挫敗感。當我剛開始學編程的時候也有同樣的想法,不斷的和身邊的人對比,覺得他們比我優(yōu)秀太多,我永遠無法達到我要的高度。

正是一直存在這樣的想法,往往忽視了自己做出的努力,即便自己輕松創(chuàng)建出一個比之前復雜的應用程序時,也不會有成就感,因為心里一直沉浸在和更有經(jīng)驗的開發(fā)者的比較中。

學習如何編程是最困難的,每個人都在努力克服。本文會把重心放在學習編程時最常見的問題上:如何盡可能有效地處理新信息,如何保持動力。

有效地處理新信息

每個人吸收新知識的方式不同,所以,在開始學習代碼之前,你首先要做的就是先學習如何學習。

很快你就會發(fā)現(xiàn),最常見的兩種學習資源就是:在線課程和語言文檔。除超人類的天才外,是沒人能夠在只看課程/讀純文本的情況下還能記住所有知識點,所以每當你在看視頻課程或閱讀文檔時,感到迷茫和困惑是完全正常的,畢竟對于沒有太多知識的人來說,通過一些極客術語來理解代碼是蠻難的。

無論你覺得自己有多優(yōu)秀都不要忽略基礎知識,開始學一門語言的時候不要跳過任何一個細節(jié),如果你一開始不注意的話,會后悔的。即便是閱讀文檔,也請從第一頁開始閱讀,相信我:注意細節(jié),過后會感謝今天的你。

教學是最好的學習方式,是每隔10分鐘,就停下來用自己的話解釋一下你剛剛所學到的東西,即便周圍沒有人,你可能會覺得做起來十分困難,但這種做法可以讓你立刻知道自己還不了解的知識點有哪些,你可以及時鞏固研究,就記下來,通過實踐編碼,會讓你記憶的更加簡單深刻。

不要只聽課程和閱讀文檔,你還應通過積極參加創(chuàng)建自己的個人項目,把你所學的每一個新的知識點都運用上來,這聽起來似乎也不是那么簡單,但你只要一直堅持,你一定可以提高你的編程技能。

保持動力

很多人問我日常生活中如何讓自己編寫出這么多代碼,思考了很久之后,得出以下答案:

每個人否喜歡玩游戲,不論什么類型的游戲,因為游戲可以帶給你即時的滿足感,這就是動機成因,通過編程,我也獲得到了滿足感,但編程不是游戲,沒有你想象中的容易。

設立小目標,不是因為你不思進取,而是因為你不注重改善,做一個當天完成的事情待辦列表:也許只是讀一頁,或者只看一個課程更或者只是編寫10行代碼,看到自己完成整個待辦事項清單,你會獲得滿足感,對自己的進步更有信心。“我已經(jīng)完成了今天的目標任務”比“我只完成了2%的課程”要好得多,及時行樂是很重要的。

不斷提醒自己,你已經(jīng)走了多遠。這一點經(jīng)常被忽視,你不會意識到自己每天都在進步,但相信我,你只要每天都編碼(哪怕一點點),你也會越來越好。所以最好的方法是寫日記,每天用一句話來記錄自己的困惑,一個月后再回頭看看,你可以看到自己正在變得更好。

在你真正感興趣的個人項目上編程,這里不包含在待辦事項列表中,而是你真正想要建立的項目,也不要想到自動駕駛汽車、機器人等等這些龐大的項目,可以選擇一些小項目,比如創(chuàng)建一個網(wǎng)站或者一個小型游戲,這種項目會讓你更有動力去完成它,一旦項目完成,你就會有成就感。

意識到自己比想象中要優(yōu)秀。你可能會覺得你身邊的每個人知道的東西都比你多的多,這也被稱為冒名頂替者綜合征。但事實并非如此,只要你有足夠的學習動力、足夠努力地編碼,你一定可以可以成為一名優(yōu)秀的開發(fā)人員。

要時刻牢記的事

不要和其他開發(fā)者對比。非常老套的建議,但這是至關重要的。你比你想象中的進步更快。我下面這張照片,如果在4個月前看到這些屏幕中的代碼,我會感到害怕的。但現(xiàn)在我完全可以找出這里面犯了多少錯誤

你比你想象的要進步得多。每一次學習或編碼,你都在成長。

每個人一開始都很迷茫,大家都是一樣的,但這并不意味著你會成為一個糟糕的程序員。你現(xiàn)在的想法只是學習過程的一部分。不久,你會回頭看看這時的你,你一定會認同我說的!

最后如果可以,試著找一位導師。通過向其求教相信更有助于你克服問題并獲得新的啟發(fā)。

好的,講了這么多理論學習編程語言的方法,下面我們來講講如何學習STM32呢?

首先,在學習Cortex-M3時,我們必須要知道必要的縮略語。

整理如下:

AMBA:先進單片機總線架構 ADK:AMBA設計套件AHB:先進高性能總線 AHB-AP:AHB訪問端口APB:先進外設總線 ARM ARM:ARM架構參考手冊ASIC:行業(yè)領域?qū)S?a target="_blank">集成電路 ATB :先進跟蹤總線

BE8:字節(jié)不變式大端模式 CPI:每條指令的周期數(shù)

DAP:調(diào)試訪問端口 DSP數(shù)字信號處理(器)DWT:數(shù)據(jù)觀察點及跟蹤 ETM:嵌入式跟蹤宏單元FPB:閃存地址重載及斷點 FSR:fault狀態(tài)寄存器

HTM:Core Sight AHB跟蹤宏單元ICE:在線仿真器 IDE:集成開發(fā)環(huán)境

IRQ:中斷請求(通常是外中斷請求)ISA:指令系統(tǒng)架構 ISR:中斷服務例程ITM:儀器化跟蹤宏單元

JTAG:連接點測試行動組(一個關于測試和調(diào)試接口的標準)LR:連接寄存器

LSB:最低有效位

MSB:最高有效位LSU:加載存儲單元MCU微控制器單元

MPU:存儲器保護單元

MMU:存儲器管理單元MSP:主堆棧指針NMI:不可屏蔽中斷NVIC:嵌套向量中斷控制器PC:程序計數(shù)器PPB:私有外設總線

Cortex-M3芯片簡介

1、芯片的基本結(jié)構如下圖

2、關于ARMv7的知識了解

在這個版本中,內(nèi)核架構首次從單一款式變成3種款式。

款式A:設計用于高性能的“開放應用平臺”——越來越接近電腦

款式R:用于高端的嵌入式系統(tǒng),尤其是那些帶有實時要求的——又要快又要實時。

款式M:用于深度嵌入的,單片機風格的系統(tǒng)中。

介紹A:用于高性能的“開放應用平臺”,應用在那些需要運行復雜應用程序的處理器。支持大型嵌入式操作系統(tǒng)

R:用于高端的嵌入式系統(tǒng),要求實時性的。

M:用于深度嵌入的、單片機風格的系統(tǒng)中。

3、Cortex-M3處理器的舞臺

高性能+高代碼密度+小硅片面積,使得CM3大面積地成為理想的處理平臺,主要應用在以下領域:

(1)低成本單片機(2)汽車電子(3)數(shù)據(jù)通信(4)工業(yè)控制(5)消費類電子產(chǎn)品

4、Cortex-M3的簡化圖

5、寄存器組

處理器擁有R0-R15的寄存器組,其中R13最為堆棧指針SP,SP有兩個,但是同一時刻只能有一個可以看到,這就是所謂的“banked”寄存器。

a、R0-R12都是 32位通用寄存器,用于數(shù)據(jù)操作。但是注意:絕大多數(shù) 16位Thumb指令只能訪問R0-R7,而 32位 Thumb-2指令可以訪問所有寄存器。

b、Cortex-M3擁有兩個堆棧指針,然而它們是 banked,因此任一時刻只能使用其中的一個。

6、Cortex-M3的簡評

a、高性能

許多指令都是單周期的——包括乘法相關指令。并且從整體性能上,Cortex-M3比得過絕大多數(shù)其它的架構。

指令總線和數(shù)據(jù)總線被分開,取值和訪內(nèi)可以并行不悖 。

Thumb-2的到來告別了狀態(tài)切換的舊世代,再也不需要花時間來切換于 32位 ARM狀態(tài)和16位Thumb狀態(tài)之間了。這簡化了軟件開發(fā)和代碼維護,使產(chǎn)品面市更快。

Thumb-2指令集為編程帶來了更多的靈活性。許多數(shù)據(jù)操作現(xiàn)在能用更短的代碼搞定,這意味著 Cortex-M3的代碼密度更高,也就對存儲器的需求更少。

取指都按 32位處理。同一周期最多可以取出兩條指令,留下了更多的帶寬給數(shù)據(jù)傳輸。

Cortex-M3的設計允許單片機高頻運行(現(xiàn)代半導體制造技術能保證 100MHz以上的速度)即使在相同的速度下運行,CM3的每指令周期數(shù)(CPI)也更低,于是同樣的 MHz下可以做更多的工作;另一方面,也使同一個應用在 CM3上需要更低的主頻。

b、先進的中斷處理功能

內(nèi)建的嵌套向量中斷控制器支持240條外部中斷輸入。向量化的中斷功能大大減少了中斷延遲,因為不在需要軟件去判斷中斷源。中斷的嵌套也是在硬件水平上實現(xiàn)的,不需要軟件代碼來實現(xiàn)。

Cortex-M3在進入異常服務例程時,自動壓棧了 R0-R3, R12, LR, PSR 和PC,并且在返回時自動彈出它們,這多清爽!既加速了中斷的響應,也再不需要匯編語言代碼了

NVIC支持對每一路中斷設置不同的優(yōu)先級,使得中斷管理極富彈性。最粗線條的實現(xiàn)也至少要支持 8級優(yōu)先級,而且還能動態(tài)地被修改。

優(yōu)化中斷響應還有兩招,它們分別是“咬尾中斷機制”和“晚到中斷機制”。

有些需要較多周期才能執(zhí)行完的指令,是可以被中斷-繼續(xù)的——就好比它們是一串指令一樣。

這些指令包括加載多個寄存器(LDM),存儲多個寄存器(STM),多個寄存器參與的PUSH,以及多個寄存器參與的 POP。

除非系統(tǒng)被徹底地鎖定,NMI(不可屏蔽中斷)會在收到請求的第一時間予以響應。對很多安全-關鍵(safety-critical)的應用,NMI都是必不可少的(如化學反應即將失控時的緊急停機)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2258

    文章

    10828

    瀏覽量

    352503
  • 編碼
    +關注

    關注

    6

    文章

    915

    瀏覽量

    54651
  • Cortex-M3
    +關注

    關注

    9

    文章

    268

    瀏覽量

    59361

原文標題:想要從編程小白成為達人,這些你必須知道!(附STM32學習指南)

文章出處:【微信號:elecfans,微信公眾號:電子發(fā)燒友網(wǎng)】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    為什么會出現(xiàn)電壓降 如何實現(xiàn)盡可能低的電壓降

    高速電流波形會導致集成電路電壓下降。如果足夠嚴重,電壓降可能會重置微處理器或?qū)е聹y試結(jié)果出現(xiàn)異常。本文解釋了為什么會出現(xiàn)電壓降,提供了多種方法來通過選擇最佳負載引線和電源以及使用本地旁路來實現(xiàn)盡可能低的電壓降。
    發(fā)表于 02-06 10:02 ?6356次閱讀
    為什么會出現(xiàn)電壓降 如何實現(xiàn)<b class='flag-5'>盡可能</b>低的電壓降

    哪里可以買到盡可能高頻率的無線能量發(fā)射接收模塊

    哪里可以買到盡可能高頻率的無線能量發(fā)射接收模塊。哪里可以買到盡可能高頻率的無線能量發(fā)射接收模塊。哪里可以買到盡可能高頻率的無線能量發(fā)射接收模塊。哪里可以買到盡可能高頻率的無線能量發(fā)射接
    發(fā)表于 12-05 22:48

    請問哪位大神可以推薦8位PIC單片機或者16位的單片機,要求端口盡可能多些的?

    請問各位,最近老師要我選個8位PIC單片機或者16位的單片機,要求端口盡可能多些,我之前也沒怎么接觸過單片機這塊的內(nèi)容,感覺很棘手,他還給出了一種開發(fā)工具PICSTART-PLUS開發(fā)編程器,但是我
    發(fā)表于 07-03 03:44

    請問為什么低噪聲放大器的第一級要盡可能的放大?

    為什么低噪聲放大器的第一級要盡可能的放大?
    發(fā)表于 08-24 07:15

    如何確保盡可能高效地測試開關穩(wěn)壓器?

    問題:如何確保盡可能高效地測試開關穩(wěn)壓器?
    發(fā)表于 03-01 08:50

    STM32F756 AES加密不可能有同樣的輸出

    項目中需要pc端使用同樣的AES算法,密鑰和初始向量加密,但是STM32中使用跟加密協(xié)處理器配套的函數(shù),我現(xiàn)在直覺pc端的AES實現(xiàn)跟硬件端同樣輸入不可能有同樣的輸出,請問各位大神有沒有遇到這種情況怎么解決,或者哪位有pc端配套的AEScbc算法,在此謝過!
    發(fā)表于 05-21 14:33

    數(shù)據(jù)采集系統(tǒng)信號路徑中發(fā)現(xiàn)的最常見的濾波器是低通濾波器

    編程二階低通濾波器電路。在數(shù)據(jù)采集系統(tǒng)信號路徑中發(fā)現(xiàn)的最常見的濾波器是低通濾波器。這種類型的濾波器通常用于減少A / D轉(zhuǎn)換器混疊誤差。如果通過多路復用器向A / D轉(zhuǎn)換器施加多個信號,則每個信號源可能有其自己的一組濾波器要求
    發(fā)表于 08-21 08:53

    緩沖VDAC輸出損失如何盡可能的減少?

    ,但是連接后電壓不會下降到1.9V以下。JRK直接從電位器工作。我想在PSoC和控制器之間放置一個運放來緩沖這個,但是我想盡可能少的損失,盡可能保持輸出的精確性。我需要一個DIL包,這樣我就可以剝離
    發(fā)表于 10-08 12:43

    是否有任何選項可以更改NFC的場功率以使讀取盡可能節(jié)能?

    我需要讓 ST25R3916 讀取盡可能節(jié)能。我正在搜索文檔,但我只看到這個穩(wěn)壓器 (0x2C)。是否有任何選項可以更改 NFC 的場功率以使讀取盡可能節(jié)能?NFC 標簽將始終位于固定范圍內(nèi)的固定位置。重要提示:我們不是在談論檢測卡——因為電容檢測已經(jīng)足夠好了,但只是在讀
    發(fā)表于 02-02 07:43

    為什么在MCU中要盡可能少用浮點數(shù)運算?

    為什么在MCU中要盡可能少用浮點數(shù)運算
    發(fā)表于 10-09 08:06

    為什么在MCU中要盡可能少用全局變量?

    為什么在MCU中要盡可能少用全局變量
    發(fā)表于 10-11 07:07

    為什么低噪聲放大器的第一級要盡可能的放大呀?

    為什么低噪聲放大器的第一級要盡可能的放大?
    發(fā)表于 11-21 08:01

    UPS蓄電池的設計為什么要讓電池保持盡可能的溫度

    在UPS 的實際應用中,溫度對電池的自然老化過程有很大影響。詳細的實驗數(shù)據(jù)表明溫度每上升 5℃,電池壽命就下降 10%,所以 UPS 蓄電池的設計應讓電池保持盡可能的溫度。
    發(fā)表于 08-09 15:22 ?1155次閱讀

    Watson Works提供了數(shù)據(jù)驅(qū)動的見解,以幫助雇主在工作場所重入

    IBM區(qū)塊鏈和生態(tài)系統(tǒng)認知應用高級副總裁Bob Lord說:“我們設計了Watson Works,以幫助企業(yè)盡可能有效地應對持續(xù)的COVID-19健康危機 。
    的頭像 發(fā)表于 09-10 16:06 ?2149次閱讀

    如何測量運算放大器的輸入電容以盡可能降低噪聲

    這些問題。 運算放大器被廣泛用于各種電子電路中。它們用于小電壓的放大,以進一步執(zhí)行信號處理。煙霧探測器、光電二極管跨阻放大器、醫(yī)療器械,甚至工業(yè)控制系統(tǒng)等應用都需要盡可能低的運算放大器輸入電容,因為這會影響噪聲增益(
    的頭像 發(fā)表于 04-11 03:45 ?593次閱讀
    如何測量運算放大器的輸入電容以<b class='flag-5'>盡可能</b>降低噪聲