作者:濤行九天 鷹是世界上壽命最長的鳥類,可以達到70歲。然而在它40歲的時候,他必須面臨一個艱難的選擇。他的喙又長又彎,爪子老化,無法捕獵,羽毛又厚又重,很難飛翔。要么等死,要么用自己的喙擊打巖石讓他脫落,讓爪子蛻皮重生,啄掉羽毛讓他再生,這是一個痛苦的過程,150天后,一個嶄新的雄鷹重生了。 這是一個勵志故事。 我們每一個人都在不斷的重塑自己,隔一段要重新審視一下自己,修正自己的問題,讓自己上一個臺階。就像我們寫代碼,畫圖一樣,修改一個版本就升級一個小版本號,修改的問題很大的時候,就從1.0升級到2.0,升級一個大版本號。 前一階段,接觸高層人脈和資本層面的操作有點多,浪費了很多精力,卻忽視了企業本身的核心價值,也讓自己的定位發生了偏差。反思過后,明白自然才是最好的,是什么樣就是什么樣,做回最好的自己。 近期給自己制定了幾個任務: 1、定下心來,解決公司幾個拖拉的疑難問題; 2、靜下心來,幫助同事成長,不是填鴨式,不是講大道理,重點講方法,潤物細無聲,潛移默化的影響。 3、重看《大秦帝國》和《天道》。 解決問題的方法有很多,歸納起來我們依靠的無外乎:常識和推理。以我們最近碰到的兩個案例來簡單說一下。 我們在調試手持機3G模塊的時候,發現第一次上電,撥號,上網都很正常,很穩定,但是斷電后再次撥號就再也無法正常撥號了。由于沒有很好的思路,這個問題拖了幾天沒有解決。 我解決問題的思路沒有定式,原則是最快最小代價的解決。我介入后,分這么幾個步驟進行。 1、中興這個3G模塊,我們的合作伙伴也在用,沒有這個問題,電話確認后,排除模塊本身問題; 2、把合作伙伴的固件拿過來測試,排除固件版本的問題; 3、通過查閱資料與確認,排除USB供電問題; 4、通過跟技術討論,3G的第一次上電和啟動是放在eboot中完成的,很自然想到拿出來完成是不是還有這個問題呢?立即排除,通過測試發現在系統啟動后再加載3G驅動,再反復上電,撥號,上網,就沒有問題了。 以上4個步驟用到的都是常識中的排除法,縮小故障范圍,最后把問題定位到eboot中啟動3G驅動,解決起來自然就容易多了。在實際應用中,還有替換法,比如懷疑某個模塊有問題,可以直接替換來驗證,排除和替換交叉使用,效率會提高很多。 另外一個案例,是手持機在使用過程中,偶爾會速度變得越來越慢。 1、第一感覺可能是內存泄漏造成的,但這種現象竟然在關機再開機后還有,排除; 2、這個問題上批機器沒有,而這批現象很難復現,所以拖拉了很久都沒有處理好。 3、這種情況,依靠常識很難解決了。在一件事情做了很久,或者做的很累了,那一定是方法出了問題。這時候,要進行推理了。 4、我們發現讀卡的單片機在出問題的時候,會不停向外發數據。那么推理初步懷疑,是單片機的質量出了問題,但這不是我們希望的結局,現場幾百臺機器都更換的話,顯然是不可行的。斷電測試,單片機仍然會發數據,那么串口部分是不是有問題呢?把串口設置為IO輸入模式,發現數據沒有了。 繼續推理,為什么斷電后還有數據發出來,一定是有電源過去了,導致單片機或者串口動作了。測量電壓發現有2.1v的電壓過去,這個電壓是通過串口漏電過去的。從理論上推理,串口漏電可能造成單片機局部啟動,處于一個不穩定狀態,導致串口亂發數據。 推理成立,可能造成問題。那么接下來就是如果解決和規避了。 在上電前把串口設置為IO輸入模式,上電后,再設置為串口模式,把收到的第一批串口數據扔掉,再處理的就是正確的數據了。 事后再深入推理,為什么上一批沒有問題,這一批就有問題。可能的原因是單片機芯片本身加工批次問題,或者加工工藝提升,導致實際的工作電壓閥值下降,以前5v工作的單片機,2.1v根本不可能誤動作,這批就有可能局部動作了,導致了問題。 有時候問題很難明確的說是硬件問題,或者軟件問題,即便有時候是硬件問題,但由于解決成本太高,我們可能需要通過軟件去包容這個問題,避開他,核心是快速低代價的處理問題。 常識需要我們靠日常不斷的去積累,推理需要縝密的邏輯思維,掌握了這些方法,可用之四海,舉一反三,善莫大焉。 |