<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > AVR單片機上電復(fù)位不可靠問題的解決

          AVR單片機上電復(fù)位不可靠問題的解決

          作者: 時間:2013-04-13 來源:網(wǎng)絡(luò) 收藏

          推薦昨晚在調(diào)試AVR 單片機時又有一些心得體會,雖然結(jié)論是一個很小的問題造成的,但在此還是寫出來給大家參考,避免走彎路。

          事件描述:

          以前用AVR的芯片也做過好幾個設(shè)計,從來沒有懷疑過ATMEL的芯片的穩(wěn)定性,以前的幾個方案都是很穩(wěn)定的,當然這跟PCB的設(shè)計有很大的關(guān)系,如果大家需要PCB相關(guān)參考資料的話可以到本站的PCB技術(shù)專欄里查找,那里有很多前輩的PCB布板心得。

          這次用的ATmega48制作的串口電壓表就出現(xiàn)一個很奇怪的現(xiàn)象,電路板是用萬能板焊接的,程序里用到ADC功能和串口通訊功能,用的AVR下載工具是STK500,每次下載程序后芯片總是不能正常復(fù)位工作,還要讀取下芯片的特征字或熔絲位讓芯片重新復(fù)位下才能工作,這時候復(fù)位后工作都穩(wěn)定,沒出現(xiàn)什么不正常。剛開始不在意這個問題,因為在開發(fā)的初期用AVR DRAGON仿真調(diào)試部分功能時復(fù)位腳不能接任何器件,所以也就把復(fù)位腳懸著不接復(fù)位電路,以為是沒接阻容復(fù)位而造成不穩(wěn)定。在此還是沒有懷疑過芯片的問題。

          直到后來這個程序都開發(fā)完畢了,給ATMEGA48加上 一個10K的上拉電阻和0.1uF的電容做復(fù)位,把ISP線拔掉,獨立給串口電壓表上電(因為當時都是用幾個電路模塊連接做實驗,串口電平轉(zhuǎn)換電路也是獨立的,初期串口調(diào)試已經(jīng)都通過了,所以我把這個串口電平轉(zhuǎn)換模塊的連線都拔掉了),問題來了,上電不工作,手動把復(fù)位腳接地后放開可以工作,但過了一會后還是死了,加看門狗后還是老樣,沒有任何改善,每次手動復(fù)位正常工作后,把手指頭放在ATMEGA48的1、2、3腳上方慢慢靠近,手指頭還沒碰到芯片就死機了~~~不會吧,沒這么脆弱吧。以前用AVR Tiny26做的控制器,把手機放在芯片上方然后撥打10086都不會死機。不會中獎了吧,又不是第一次搞單片機,難道真要像以前論壇里的朋友開玩笑說:要殺只大公雞祭拜下~~~

          奇怪啊~~~實在沒招,把串口電平轉(zhuǎn)換電路給接上繼續(xù)調(diào)試下,這時候再上電每次都是正常工作,而如果再把串口電平轉(zhuǎn)換電路斷開則又不能正常復(fù)位工作~~~手動復(fù)位后把手再靠近芯片的1、2、3腳上方就又馬上死機~~~狂暈~~~~不是吧~~~ATMEGA48的第一腳是RST,2、3兩腳剛好是RXD、TXD串行引腳,難道真的是這個串口干擾引腳影響到復(fù)位電路?不可能吧,ATMEGA48芯片用得人多的是,各方面的應(yīng)用都有,不可能是芯片的缺陷,還是多懷疑下自己吧...重新再好好看看自己的程序吧...

          單片機相關(guān)文章:單片機教程


          單片機相關(guān)文章:單片機視頻教程


          單片機相關(guān)文章:單片機工作原理



          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();