今天維修了一個電源,別人告訴我是FLASH存取有問題。我的第一反應是 重新下載一次程序,因為之前遇到過一個產品數碼管不顯示,我重新下載之后就正常工作的情況。所以這一次我也想這樣做。
但是很奇怪,程序無法下載。于是我又想到用串口調試助手看一下能不能從芯片中讀取出數據,以此判斷FLASH的讀取問題。測試后發現串口的輸出是正常的,只是反應好像不靈敏。就是我輸入的指令過快時,有時候會返回不了值,直到下一次重新發指令,再返回值。于是,我匆匆地換了一片232芯片,就上交了。跟經理說是232芯片有問題肯定是可以過關的。因為我證明了FLASH存取是沒有問題的,只是不能下載而已。但我還是跟經理說了這個情況,經理讓我再仔細查查清楚。
于是,下面的瘋狂行為就開始了。我先是重新查了一下RX、TX的連接情況,證明是通的。然后我把單片機換了,下載,不行;把晶振換了,下載,不行;這下我慌了。因為糊弄不過去了。于是我又把那片扔了的芯片撿起來備用。然后我把帶有芯片的板子和另一塊下載板相連,下載,成了。于是我放心了,大不了就這樣上交算了。但我還是覺得問題沒有解決啊,于是,我 知道是下載板的問題。我又量了一下RX、TX的連接,沒問題。我仔細一看板子,發現跟232相連的一個104電容斷了一半,判斷可能是它的問題,換芯片,下載,成功。
因為之前也遇到過程序無法下載的問題,所以這里把其原因總結一下(僅以我自己遇到的情況為主)。第一次是因為晶振有問題,所以無法起振,第二次就是上文提到的,max232的電容有問題。
所以下次再遇到這種類似的情況。我們要做的是:
一、 首先排除是USB轉串口的下載線問題,我們可以換塊其他的板子下載試一下;
二、 其次換一塊底板看看能不能下載,判斷一下是上面的板子有問題還是底板有問題。
三、 確定串口至max232的輸入端線路沒有問題,確定max232至單片機的RX、TX引腳沒有問題;
四、 如果上訴情況排除后,依然不能下載,則需要考慮可能是晶振或者max232的電路有問題。因為一把情況下像單片機和MAX232是很少會出問題的。
五、 首先看晶振的問題,確定其相關的電容沒有虛焊,或者換一個晶振。
六、 看一下與232連接的電容又沒有虛焊。