<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          看文檔|代碼|電路的一些經(jīng)驗(yàn)意識

          共 5879字,需瀏覽 12分鐘

           ·

          2021-06-27 21:14

          掃描二維碼

          獲取更多精彩

          嵌入式雜牌軍

                                                               

                                                            編輯|追夢星空

                                                      公眾號|嵌入式雜牌軍


          ? 編 者 悟 語

              

                很多時(shí)候只有理解是解決不了什么問題的,事兒還是得做到位才能起實(shí)質(zhì)性的效用。

               

                有些事就得來點(diǎn)征兆,以供他人做出判斷。


                快讀能更好的調(diào)動(dòng)注意力,慢讀能增加感受和記憶。



          文 章 導(dǎo) 讀


              今天分享一下我平時(shí)工作中看文檔、代碼積攢的一些意識想法,匯總出來以供大家參考,希望對小伙伴們有所裨益哈!

              如果對我下面所羅列的條目有什么不同意見,可以后臺(tái)交流哈,


          1 關(guān)于這些意識想法的說明



              1)這些想法產(chǎn)生的途徑


              ① 看手冊時(shí)的所思所想。


               閱讀代碼時(shí)的思路總結(jié)。


              ③ 工作中的經(jīng)驗(yàn)總結(jié)


              2)為什么要分享出來  


              ① 技術(shù)類關(guān)于思路意識分享的文章比較少,分享出來對經(jīng)驗(yàn)不足者有益。


              ② 每個(gè)人的認(rèn)知不同,這些想法可能可以作為他人思路上的補(bǔ)充。


              ③ 與小伙伴們多作交流(如有不同意見歡迎批評指正)。


          2 學(xué)習(xí)公眾號文章的一套方案



              你能從現(xiàn)有的項(xiàng)目中吸收哪些內(nèi)容:


              吸收現(xiàn)有的手冊、原理圖、PCB及代碼,深挖實(shí)現(xiàn)方法、原理、實(shí)現(xiàn)細(xì)節(jié),對比曾經(jīng)接觸過的相關(guān)材料,歸納總結(jié)。


              1)看文檔的思路意識


              ① 看英文手冊。

              

              看英文文檔時(shí),可以對照翻譯比較經(jīng)典的中英文文檔,積累專業(yè)詞匯。


              看英文文檔時(shí),如果一個(gè)詞在一個(gè)位置沒理解,可以搜索此文檔,看看其他地方的語境能不能增加自己的理解。


              有些英文文檔是有對應(yīng)的中文文檔的,不想看英文,可以有意識的找一下,但是盡量去看英文手冊吧,都會(huì)有一個(gè)痛苦的過程的,過了那個(gè)過程,以后就輕松容易了。


               盡量把英文在腦中形成形象聯(lián)想(聯(lián)系已看的內(nèi)容,對應(yīng)特定常用詞匯)。


              對于英文手冊中由熟悉的單詞組成的詞組,語義不清就查下意思,它們有可能對應(yīng)了專業(yè)術(shù)語。


              看寄存器先根據(jù)縮寫理解,理解不了再根據(jù)描述理解(但這樣要避免先入為主)。


              ② 摘錄與整理。


              在看傳感器或協(xié)議類芯片的操作時(shí),要將功能碼,指令碼,設(shè)備地址等的數(shù)據(jù)格式進(jìn)行文檔整理。如果有流程圖時(shí),要將流程圖中環(huán)節(jié)對應(yīng)到相關(guān)的內(nèi)容中去,以理清操作(通信)流程。  


              當(dāng)內(nèi)容太多,又有不少概念和關(guān)鍵點(diǎn)的時(shí)候,要盡量新建一個(gè)摘錄文檔,將這些內(nèi)容復(fù)制過去方便短時(shí)查看和復(fù)習(xí)。


              看手冊時(shí)可以把要看的模塊內(nèi)容截成獨(dú)立的模塊手冊,此模塊內(nèi)容連續(xù)著看,遇到寄存器或不懂的內(nèi)容查閱總的手冊(包括全部內(nèi)容的手冊),看完再看截出的獨(dú)立模塊內(nèi)容,這樣看某個(gè)模塊內(nèi)容時(shí)沒有跳躍感。


              在看文檔時(shí)為了不中斷看文檔的節(jié)奏,在有一些有意義的想法時(shí),可以將想法記錄到一個(gè)文檔,或以一個(gè)文件名命名,有時(shí)間了再處理。


              ③ 參照對比。


              同類型的寄存器可以同時(shí)對比著看。


              類比學(xué)習(xí):比如因?yàn)镽T1052資料較少,可以參考STM32相關(guān)外設(shè)部分的介紹進(jìn)行類比學(xué)習(xí)。內(nèi)核不一樣,但很相似,很多機(jī)制就是相似的。


              按照圖(時(shí)序圖、功能框圖等)的不同部分去對應(yīng)手冊中相應(yīng)的內(nèi)容。


              芯片手冊上講不明白的地方,可以去寄存器和程序說明中去輔助弄清楚。


              手冊中內(nèi)容對應(yīng)代碼的部分,要時(shí)不時(shí)提醒自己它們之間一一聯(lián)系對應(yīng)的關(guān)系,這種意識很重要。


              看手冊打開程序,有些量可以跳轉(zhuǎn)著對照著看。


              ④ 一些細(xì)節(jié)。


              手冊時(shí)序中的同步線,通常是控制數(shù)據(jù)更新的信號。


              結(jié)合圖或功能回看手冊,注意寄存器之間的聯(lián)系,看圖時(shí)注意聯(lián)系不同模塊之間的關(guān)系,在腦中形成功能對應(yīng)及形象。(對應(yīng)圖中每個(gè)詞到手冊中的介紹,在腦中形成對應(yīng)的意識)


              如果手冊只有功能框圖,為了更快的熟悉一個(gè)模塊,在看過功能描述之后,看寄存器時(shí),可以將寄存器按照功能模塊分類,到配置時(shí),分模塊配置,對應(yīng)模塊去看對應(yīng)的寄存器,如果不能明確功能的可以放一起。也可以將一個(gè)寄存器功能做個(gè)列表,需要配置某個(gè)模塊功能時(shí)逐個(gè)寄存器查看即可。如果有SDK等官方代碼,能直接用時(shí)直接用,需要修改時(shí)需要結(jié)合上面方式。


              看程序或文檔時(shí)遇到公式中看不懂的數(shù)字量時(shí)可以考慮倒數(shù)關(guān)系再想想。比如周期比可以算周期個(gè)數(shù),但如果轉(zhuǎn)成頻率比,表示的意思就不太明顯了。


              ⑤ 一些思路。

              看完一篇文章,一本書,要整體回顧下,想下有什么收獲,這樣會(huì)有大局觀,也可能會(huì)有意想不到的感悟。


              對于用寄存器方式模擬協(xié)議的,要結(jié)合原有協(xié)議時(shí)序圖的結(jié)點(diǎn)找到配置點(diǎn),對應(yīng)出寄存器模擬協(xié)議時(shí)序的過程(此過程手冊和代碼要互相參照)。

           

              手冊只有在有個(gè)整體把握之后,才是查的,或是經(jīng)驗(yàn)比較足,知道看什么位置,有建立聯(lián)系的意識,手冊查用才是行之有效的,在開始時(shí)細(xì)看手冊積累行業(yè)共識(對于關(guān)系)是很有必要的。(觸類旁通)


              看通深入的點(diǎn),重點(diǎn)難點(diǎn),比多次看容易的點(diǎn)要重要的多,當(dāng)然忘了的內(nèi)容要復(fù)習(xí)。


              2)看代碼的一些意識


              ① 意識。


              程序即為編程人的思路,要時(shí)不時(shí)提醒自己這種意識,他這樣寫的思路是什么,不能單單看到程序的語法及調(diào)用關(guān)系。


              代碼和功能要一點(diǎn)點(diǎn)對應(yīng)。(凡事必作于細(xì))


              看程序時(shí),先看整體實(shí)現(xiàn),不要糾結(jié)于細(xì)節(jié),比如看函數(shù)參數(shù),知道參數(shù)意思了解函數(shù)功能即可,不要糾結(jié)參數(shù)是怎么來的,在整體了解之后再去看細(xì)節(jié)。要有總分的意識。


              每個(gè)寄存器通常都有相應(yīng)的宏,類似函數(shù),可以直接調(diào)用這些宏,而不是用函數(shù),函數(shù)庫在必要的時(shí)候可以混用宏。


              中斷優(yōu)先級的順序,能很好區(qū)分需要優(yōu)先的放到前面,如果不好區(qū)分就得測試來安排優(yōu)先級順序了,特別是在你不知道應(yīng)該該優(yōu)先哪個(gè)的時(shí)候。


              看程序時(shí),程序中的注釋錯(cuò)誤,或沒有注釋在看懂時(shí)要馬上加上注釋,把不容易理解或引起歧義的注釋換成容易理解的。


              編程時(shí),標(biāo)志位要寫明不同數(shù)值對應(yīng)的含義不然容易造成不必要的麻煩。


              結(jié)構(gòu)體賦值要盡量整體把握功能后再細(xì)看每個(gè)參數(shù)的作用。


              ② 方法。


              將文檔中的有效信息盡量簡練的放到程序注釋中,省得經(jīng)常查看,當(dāng)然熟悉到一定程度時(shí),盡量簡化或不寫。(根據(jù)自己處的階段去抉擇)


              用對比軟件,查看程序思考代碼修改的原因(SVN自帶修改文件及修改內(nèi)容的對比功能)。


              總結(jié)屬于自己的看結(jié)構(gòu)體(成員大小、對齊、成員類型、指針內(nèi)存分配在哪)、for循環(huán)、whileswitch語句的思路(C語言使用的注意事項(xiàng),包含實(shí)例)。


              如一個(gè)函數(shù)通常包括如下內(nèi)容:

              變量定義、初始化、給指針分配內(nèi)存、長度間隔調(diào)整、字節(jié)序轉(zhuǎn)換、讀寫操作、參數(shù)有效性判斷、條件判斷(標(biāo)志位或邏輯判斷)、結(jié)構(gòu)賦值及使用(也算初始化),算法實(shí)現(xiàn)、邏輯功能(功能函數(shù)調(diào)用)、返回值。


              接收他人的代碼,可以先分層,將函數(shù)功能做成表格,如果有協(xié)議的,對照協(xié)議將協(xié)議的每部分實(shí)現(xiàn)的對應(yīng)到代碼中的函數(shù)和結(jié)構(gòu)體及枚舉變量,做成文檔方便查找對應(yīng)。


              看參數(shù)時(shí)參數(shù)變量可能由不同詞匯縮寫組成,但只有一個(gè)變量是其主要意思,要用主要意思去理解函數(shù)功能,而不要過于糾結(jié)不同詞匯的翻譯上。比如byNet,理解成設(shè)置網(wǎng)絡(luò)即可,不要想得太深,這樣能更好的把握函數(shù)意義。


              類似上面,指針和結(jié)構(gòu)體主要意思在后面指向的內(nèi)容,前面是個(gè)總體模糊的概念,看配置時(shí),后面的指向變量是重點(diǎn)?;蚴窃倭私庹w之后,就不用每個(gè)量從指針到變量一層層的看了。函數(shù)參數(shù)前面的類型,指針結(jié)構(gòu)體前面的指針和結(jié)構(gòu)體名是輔助的,整體了解之后可以略看。

           

              3)看電路PCB的一些意識


              ① 整理。


              將PCB相關(guān)的知識分知識點(diǎn)整理成手冊。


              看原理圖:電路模塊化看,電源的轉(zhuǎn)換關(guān)系以及不同大小的電源都給什么模塊供電了,看控制邏輯。將查到芯片使用方式、作用在原理圖上進(jìn)行簡單標(biāo)記,不然容易忘。


              有時(shí)間了,學(xué)習(xí)某個(gè)模塊時(shí),把此模塊硬件手冊常用的內(nèi)容截圖出來放到一起形成功能分析文檔。


              ② 方法。


              有時(shí)間了用示波器觀察協(xié)議或硬件芯片的波形,電平上升時(shí)間等參數(shù),增加硬件電路調(diào)試的能力。


              硬件芯片手冊中關(guān)于引腳的電壓電流可以用萬用表或示波器觀察其數(shù)值及波形,可以作為判別芯片是否工作正常,是否損壞的依據(jù)。


              測試時(shí)能量整個(gè)通路,不要去分段測量。


              在調(diào)試過程中,手接觸器件如果導(dǎo)致器件引腳不小心與其他引腳短路可能會(huì)導(dǎo)致芯片損壞或出現(xiàn)一些怪異現(xiàn)象。


              4)雜項(xiàng)

           

              在網(wǎng)絡(luò)上搜索時(shí)不一定是越精確越好的,因?yàn)楹芏鄷r(shí)候?qū)懳恼碌娜巳菀讓⒚制鸬煤艽?,所以?dāng)精確描述不好使時(shí),可以往大致描述方向想詞句。

           

              芯片手冊名字在型號上加上中文,好找好認(rèn)。

           

              以上內(nèi)容比較龐雜,分類比較隨意,閱讀過程中,大家如果有什么想法歡迎后臺(tái)或加我微信進(jìn)行交流。


              今天就到這吧,希望對小伙伴有所幫助哈,喜歡的話歡迎轉(zhuǎn)發(fā)、點(diǎn)贊、分享、在看哈,


          相關(guān)推薦


          我是如何學(xué)習(xí)(看待)公眾號文章的


          如何接手他人的項(xiàng)目代碼(不限“工種”)


          結(jié)構(gòu)體位域與聯(lián)合的巧妙結(jié)合:實(shí)現(xiàn)位散寫,字節(jié)讀(散存整取)


          代碼意識——看代碼最忌諱什么


          宏定義中省略號在調(diào)試中的妙用


          專輯分享


          Linux專輯


          C語言專輯


          軟實(shí)力專輯


          軟件推薦專輯



          歡迎關(guān)注我的公眾號,一起擼代碼玩技術(shù)!
          瀏覽 34
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  爱看福利视频 | 蜜臀无码在线 | 蜜桃成人久久 | 狠狠干AV| 欧美三级在线视频 |