一紮“筆記”

來源:互聯網
上載者:User

到現在,工作將近5個月了,工作的筆記本上又亂七八糟寫了一大堆,今天就做個了結吧。題目想了想,也不知道為何就隨手寫了一紮“筆記”,也許愛喝啤酒;也許天天團購,送一紮酸梅湯;總之,不糾結了,就是一紮“筆記”。

技術篇CreateFile傳回值-1是失敗,不是0。很多人也許就隨手就寫為hHandle==NULL就代表失敗,其實這是錯的,很容易出bug。在HKEY_LOCAL_MACHINE 下drivers下active下可以看到當前都載入了哪些驅動。注意共用串口的模組,一個通訊,關閉其他,否則出錯。注意串口參數設定的時候fparity和parity不一樣哈射頻卡按照頻率可以分為:低頻、中頻和高頻。低頻:125KHZ和134.2KHZ 中頻:13.56MHZ  高頻:433MHZ、915MHZ、2.45GHZ、5.8GHZ注意,有時候你將某個目錄下的檔案夾名改為XX_bak,為了做備份,然後將新的拷貝進來。這樣很有可能報錯,因為有時候用的不是檔案夾的名稱,而是XML配置的名稱。一致性hash,貌似大公司面試考的挺多的。硬體這玩意,很嬌氣,在對管腳配置好以後,一定要延時個100ms,否則很容易造成硬體模組混亂。另外硬體模組要遵循一個規律:開電源-開通訊------操作-------關通訊-關電源無論何時,做底層介面,一定要和應用程式層人員商量一下啊,否則,提供的介面有時候並不是別人想要的,而別人想要的你卻沒有給,但是你直接將最重要的介面給出去,不僅不安全,而且你的api封裝的相當失敗。。。。教訓!!!永遠不要被權威嚇著:一個函數 傳回值為BOOL類型,看了一下盡然沒有 return TRUE;的情況,一個控制代碼竟然判斷==NULL失敗;你相信這是一個所謂公司的大牛寫的代嗎?其實是的。每個人都有可能犯錯誤,但是如果用心去做每一件事,不求多,求當前最精,錯誤一定不會很多。無論你有多麼笨,只要這樣做,一定能做好。無論是誰寫的代碼,到了你這,你就要搞定,說不一定哪一天出錯了,那就是你的責任。相信自己,才是最靠譜的。。。內建網路攝影機和外置不一樣,驅動一個走匯流排,一個走usb。這裡又是一個自己沒有發現別人的一個錯誤,將&預算寫成了 | 運算,導致不正常,到最後才發現。悲劇啊!!!看驅動一個很好的辦法,就是打調試資訊,雖然這個方法很笨,但是確實很有效。因為我們都知道,微軟雖然開源了一些核心代碼,但是終究還是隱藏了很多代碼,所以我們很多時候不知道整個程式的流程,而打調試資訊就能知道應用程式如何走,在驅動中如何走的。另外還要學會用kitl調試,但是kitl對中斷多的不是很適合,線程多的其實也不是很適合,不過線程之間要是做了很好的同步,那就還好了。電腦硬碟ahci模式和ide模式,糾結了很久,也發了一篇部落格。。。開啟註冊表的函數的第二個參數是子鍵,千萬不要將父鍵也加上了,這個錯誤有時候很隱蔽啊。。。wifi的驅動確實很大,但是如果用點心,還是能夠解決眼前的bug。一直顯示正在串連,wifi驅動被載入兩次,wifi模組在無線管理器中消失,然後等一會再出現。。。我感覺這些問題通過log資訊以及kitl調試,能夠解決問題,但是可能不夠完善。要想完美的解決,還要對wifi驅動有一個深刻的理解才行。看代碼,寫注釋,看架構,找bug,找解決問題的方法,不要死磕,要靈活,學會繞,因為有些東西我們看不到,就像微軟隱藏的代碼等等。相信問題總能夠被解決,一定要相信。wifi註冊表resetPowerState這個選項好像很重要啊。藍芽問題,老是關閉不能開啟,老是只能發檔案不能接受檔案,老是軟關機在開啟不行。其實這些問題都是驅動中的一些很小的bug,甚至都不用修改驅動。比如只能發檔案不能接受,其實在無線接收設定一下就OK了。不知道的還要各種調試驅動,如果要是那樣的話,調試到老也不行啊。要靈活。另外其他那些問題就是硬體的一些問題,還是那句話,硬體很嬌氣,延時要做好啊。無論何時,很有可能就是你的延時問題。指標一定要初始化一個地址啊,否則不能直接賦值,因為你都不知道將這個值放到哪裡去。如果實在不知道賦值什麼,那麼就=NULL也是好的,但是free的時候一定要注意,防止記憶體泄露啊。工作思想篇寫程式的時候一定要先設計好,否則會出很多問題。舉個例子,如果你程式裡面有很多分支,有時候很早就return 0了,直接不往下面走了,但是很可能你下面有釋放記憶體的語句等等。所以在返回失敗的時候一定要把該釋放的釋放掉,當然這隻是其中的一方面。想要有很好的設計思想,好好讀讀一些經典的代碼,一起學習吧,一起共勉吧。。。寫文檔很重要,當然要細心啦。因為有時候你給別人的文檔,由於你的一個很小的失誤,會導致別人浪費大量的時間,這是一個很嚴重的問題。我就犯過這樣一 次這樣的錯誤。實際上這也不全怪我。事情是這樣滴,有一個函數是我給出的一個介面,文檔上寫的是返回TRUE是成功,返回FALSE代表失敗。但是其實是反過來的。但是整個服務裡面就這一個地方時這樣。再設計的時候我曾向上面說過這個不合理,但是沒有被重視,結果犯了錯誤,雖然沒有什麼嚴重的後果,但是確實浪費了別人不少時間啊。。。結果還被別人鄙視了一番,其實這倒無所謂,關鍵是我們從這件事情上可以得到什嗎?以後文檔該怎麼寫,還是簡單的黏貼複製?還是一個一個好好寫,認真的寫。只有你用心地去做一件事情,才能減少慣性思維犯的錯誤。每個人都有慣性思維,但是有時候由於前期的設計不合常理,我們的慣性思維很容易導致錯誤,所以前期設計很重要,要符合常規,不要搞新的花樣;當然後期的文檔也要重視,因為把好了這一關,一樣不會出問題。上面那個問題讓我認識到兩個問題,一個就是程式設計的習慣還不是很專業。縱觀各個很大的項目(雖然我看的還很少),傳回值一直是一個很重要的一環。一般大程式設計返回0成功,其他值都是不同的失敗情況。而我習慣正確就是1,錯誤就是0.這樣就很難知道到底錯在那個分支,雖然我們可以通過打調試資訊,但是不如傳回值巧妙啊。以後還是多領會一些標準代碼的架構思想啊。另一個問題就是不夠自信,面對權威,總是軟了,其實這樣是沒有必要的。一個方面這樣會導致你以後的失誤,另外對整個人的狀態也是一個壞的影響。只要是正確的合理的,符合要求的,要據理力爭啊。當然萬事都講究一個度,太過分了,受傷的還是自己 。未來篇最近雖然平平靜靜,忙忙碌碌,但是還是發生了一些事情,當然還有很多自己不知道的。前途這個東西有時候還是要想的,雖然車到山前必有路,但是那也是要做好準備的,萬一是懸崖怎麼辦,哈哈!總之,還是要先關注一下眼前吧,做好當前的事,閑暇的時候想想自己的未來,想想自己究竟想要什嗎?喬布希不是說過嗎,迷茫的時候,聽聽自己的心聲,follow your heart!最近剛看到一句話,其實也是說這個的,雖然表面是說幸福的,那就是:許多人都認為幸福是一種感受,是一種經過,其實最重要的,幸福是對需求的一種理解。這句話說得很好,有時候我們做的事情雖然能夠掙很多錢,有車有房有嬌妻有孩子,但是每天很累,不幸福,為什麼,反覆思考一下那句話,你也許就明白了。累的時候,痛苦的時候可以給大家一個阿Q精神勝利法:人就這一輩子,幸福是一天,痛苦也是一天,過了這一天,這輩子就少了一天,你要怎麼過?哈哈,又瞎扯了。我這個人不喜歡早睡,因為我感覺這樣浪費時間,但是這樣對身體不好(女朋友常常這樣教育我)。但是有一點我相信:效率高的人,會做事的人,一般不熬夜。而不熬夜一般效率會比較高,這是一個良性迴圈。效率低的要熬夜,熬夜效率又低,這是一個惡性迴圈。以上都是個人觀點啊,肯定是有對有錯,視 不同人不同情況而不一樣。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.