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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > AVR筆記8:mega16再次鎖死

          AVR筆記8:mega16再次鎖死

          作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
          今天嘗試使用11.0592MHz外部晶振來設(shè)置USART的波特率,沒想到理解錯誤,把熔絲位設(shè)置為外部RC振蕩CKSEL=1000,下載完成后就知道出問題了,有了上次芯片鎖死的經(jīng)歷,這次就也不慌了,知道問題出在哪兒,借來函數(shù)信號發(fā)射器,給13引腳的XTAL1加入1MHz的脈沖,成功的解鎖了。然后再次上網(wǎng)查這方面的資料,發(fā)現(xiàn)因這樣出錯的還不少,使用外部晶振,得將熔絲位設(shè)置為CKSEL=1111,這樣才是正確的。

          雖然,在嘗試的過程中出現(xiàn)了一些不大不小的錯誤,但是通過嘗試進(jìn)步了,學(xué)到東西了,還是比較興奮地。不能因為害怕出現(xiàn)問題或者是犯錯,而不敢去嘗試,人總是在不斷的嘗試中成長起來的。

          本文引用地址:http://www.ex-cimer.com/article/201611/322370.htm

          【轉(zhuǎn)載】馬潮老師

          AVR芯片鎖死的解救是有條件的:
          1.首先芯片本身沒有壞(多余了)
          2.如果RESET引腳被禁止作為I/O用了(如M48,M8等),那么通過通常的串行編程方式是不能解救的(這類芯片通常沒有JTAG口).
          3.如果SPI和JTAG都被禁止了,那么通過通常的串行編程方式是不能解救的.
          4.2、3情況只能通過高壓串行或高壓并行方式解救,當(dāng)然,通常就要把芯片從板上取下了。

          我所講的“解救”,主要是由于時鐘熔絲配置錯誤造成的鎖死,但SPI或JTAG是允許的。這種情況通常發(fā)生在系統(tǒng)設(shè)計使用內(nèi)部RC振蕩源的情況下,這時X1、X2為空腳,或作為I/O使用。但下載程序時出現(xiàn)問題,或熔絲配置錯誤,選擇了非內(nèi)部RC振蕩源。由于此時AVR無系統(tǒng)時鐘源,表現(xiàn)為鎖死。
          錯誤的出現(xiàn)可能為:
          1。配置錯誤,這是人為的。
          2。下載程序過程中,突然斷電;下載接頭接觸不良;下載器本身不穩(wěn)定。
          3。錯誤的使用下載功能,如CVAVR中下載功能中的ALL(當(dāng)熔絲位沒有正確選擇)。有些下載軟件的功能不是非常完善,如使用CVAVR中下載功能的ALL項,不先讀一次熔絲位就使用肯定出問題(通常會將SPI也禁止了)因為初始化的熔絲配置都不打勾。另外還有使用SPI下載,但還能讓用戶配置SPIEN等,也是不完善的。

          如果僅僅是系統(tǒng)熔絲配置錯誤,那么可以通過嘗試在芯片的晶體引腳上臨時人為的疊加上不同類型的振蕩時鐘信號進(jìn)行解救。如將一個5v/1M的脈沖波加在X1上(地當(dāng)然要連通了),或用2個電容和一個晶體臨時搭個外部電路加在X1、X2上。如果板上AVR的X1、X2沒有使用還是比較方便的,如果X1、X2已經(jīng)作為I/O使用連接了其它外部器件的話,就可能也行不通。因為外部連接的器件可能會影響疊加上的時鐘信號的。

          另外,疊加上的時鐘信號頻率不要太高,1M左右比較合適,因為通常疊加時引線比較長,頻率高的話,振蕩信號不穩(wěn)定了。還必須注意將ISP下載的頻率降低,因為AVR規(guī)定,ISP下載頻率必須是系統(tǒng)時鐘的1/2以下。因此,疊加1M的話,ISP的頻率不能大于500K。



          關(guān)鍵詞: AVR筆記mega16鎖

          評論


          技術(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); })();