關於今天安霸調試的總結

今天調試了安霸項目的幾個BUG,很有代表性,記錄一下,以饗讀者:


1,關於一個易錯的C問題: 運算符 ==的優先級要高於位與運算符 & 但是呢要小於取地址運算符& 。 這是個很容易錯的問題,就連老工程師都會很自然地以爲 位於&運算符的優先級高於== 。  今天在查老工程師的代碼時,從表面邏輯上來看,什麼問題有沒有,但是程序出的曉光就是不對頭, 幾番打印之後才發現是這個問題。


2, 關於安霸代碼的解決進入led亮度設置後進入回放時會出現 死機的問題。 這個問題出現得很詭異, 首先 因爲不到菜單中設置led 的亮度,則進入回放沒有什麼問題,但是隻要調整led的亮度,就會死。  這個問題在代碼中發現調整led的亮度使用的是PWM 。經過幾番調試,發現是由於調用了函數 pwm_config()  函數 。這個函數看到在測試程序中也有調用,不應該有問題,但是就是不應該有問題,在安霸的程序中就出現了問題。   最終的解決是通過調用 pwm_config_levels() 來替代解決。仔細分析函數pwm_config_levels()中有事調用了函數 pwm_config()  但是調用了pwm_config_levels() 它就是沒有一點問題。這個問題還有待深究........


3, 解決在回放視頻和圖像的時候出現異常的進度條,這個就是在pb_multi_func.c  中初始是不讓刷圖片就解決了。沒有技術含量不深究。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章