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