久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

AVR熔絲位設置讓我在吃苦頭中成長

作者:佚名   來源:本站原創   點擊數:  更新時間:2013年08月04日   【字體:

  
  有一小段時間沒有來空間掃一掃雪了,前段日子把避障小車終于做了出來,時間比較忙還來不及拿出來和大家分享,這些天因為要公司要做一款UNO控制板,之前感覺自己比較停留在對單片機的編寫程序上,忽略了對單片機內部的一些寄存器的了解上,當然在學習PIC的時候會去了解里面的結構,比如AD和DA的分頻,中斷里面寄存器的控制,SPI控制的結構等。但是在AVR這方面還真是大大的欠缺。

UNO是arduino一個開源的產品,基本上驅動程序,bootload等都可以在其官方上找到,不過說句實在的,因為一直沒有成功寫進atmega8u2-mc這款控制器里面,一直在懷疑著自己找到的是不是正確的bootload的。就這樣子弄了兩個星期無果,自己郁悶,公司估計也很郁悶。中間斷斷續續地焊了幾塊板,幾乎把打樣的板子都快用光了,剛開始懷疑是atmega8u2-mc焊接有問題,畢竟公司也是第一次焊QFN的封裝,而且兩個焊盤間距小得我在默認PCB畫圖的時候軟件老會報錯。在兩個星期后終于開始把問題弄了個明朗。
在逛arduino官網的時候,一直沒有找到關于USB轉串口的模塊,也就是atmega8u2-mu是怎么下載程序的,之前在提議下公司買了一個專用的下載器,在經過無數次下載程序后發現燒寫得進去,但是好像還是行不通的。一直以來沒有對UNO里面ISP下載有所想法,一直認為是給主控制部分mega328/168留著的兩個ISP下載串口,實際上只能說自己太粗心了。
直到突然在看我畫的PCB板的時候恍然大悟,怎么旁邊那個ISP接口是跟ATMEGA8U2連在一起的呢?另外,看了一下數據手冊,所接的串口還真的是ATMEGA8U2的ISP。

 

 
 
就是少了這個發現的情況下,讓自己吃了不少夸呀。實踐證明這里才是ATMEG8U2的下載口。
當時那個心情真的是無法形容,趕緊來了一個USBASP下載器(這個下載器是我自己的,當做為公司做貢獻了),標準板本基本上是10個接口的,但是ATMEGA8U2是6個引腳的,不過這個對于我倒是好辦,在 avr單片機論壇http://www.zg4o1577.cn/bbs/mcu-avr-1.html 查了相關資料,把10口的引腳做成了6個引腳就搞定了。懷著忐忑的心情下載了程序,居然很順利的下載到里面去了,下載界面顯示:

 
 
 

 
 
把UNO插進電腦,居然提示發現新硬件,并自動彈出一個安裝驅動程序的下載框,心里那個高興無法言表,打開IDE也發現了com口了。按照我的慣性思維:有發現com口是可以正常下載程序了,接著是下載程序了,可是無奈的事是下載程序的時候提示
 

 
 

 

看來是下載程序還有問題,這個問題看了下官網,按著解決辦法弄了一個上午又沒有什么進展。真是無語了,表示很蛋疼。
后來根據硬件在下載程序的時候燈的顯示結果,電腦發送燈會亮,單片機接收燈也沒有問題,問題是它們和接收有點不同步的感覺,我想有可能數據在那個地方丟失了,再看了一些AVR單片機的資料,哎,這次終于知道是為什么了,原來是我設置熔絲位的時候沒有設置好,這就是對AVR單片機沒有深入了解的結果。記得之前學習PIC的時候,在開頭總會寫上__CONFIG(0x313b);而AVR則不同。在經過一天的研究中,把公司的幾個MEGA8U2熔絲位給弄壞了,終于在第五個的時候下載成功,IDE也發現在了COM口,下載程序給MEGA328的時候也順利了,搞了半個多月的UNO終于算是完美地畫了一個句號。下面把我這些天的學習,個人對AVR的設置的看法拿出來跟大家分享一下吧,也許對大家研究和學習AVR會有幫助。
我用的是USBASP下載器,用的軟件是網上隨便都能夠下載得到的progisp。
1.       它在編程的時候為0,未編程的時候為1(這里跟我們平時編程可能有點相反,我吃過這夸了,燒壞了兩個芯片以后發現了這個問題,其實網上也有很多這方面資料,要是自己能夠早點看到別人寫的文章給說明一下就好了。自己可以給公司省幾塊還算值錢的IC呢)。
     加密位設置:LB2 LB110或者00時,不能通過任何方式讀取芯片內部的flasheeprom數據。但是熔絲位的狀態仍然可以讀取,只是不是能修改。因為UNO可以確定bootload程序沒有問題,而且考慮到用戶買我們產品的時候會不小心修改掉bootload。所以我這里設置為了00.這個對一些技術比較厲害的高手對于程序的保護可能會有很大幫助。這也就是我在上一篇文章中提到的AVR的保密性比PIC高的原因。
       WTDON為看門狗設置,1表示要用軟件控制WTD(看門狗)才打開,0表示不用軟件控制WTD一直打開,用戶只能利用軟件控制WTD的溢出時間。因為我們平時基本上都是不會讓WTD一直工作的,所以我在UNO里選1,建議大家設置的時候也選一,要用的時候我們用軟件控制就行了。呵呵。用軟件控制感覺也不是很麻煩。
       SPIEN,這個設置是關鍵,1表示禁止編程,之前我設置成1,下載程序的時候一直顯示模式不對,選0下載成功。原因在于我用的下載方式是SPI下載的。所以這里要打開才行。
       bootrst表示上電后從0x00執行還是bootload區執行,我設置的時候是0.表示從0x00開始執行,AVR單片機工作那么快,呵呵,多讓它工作點沒事,也不礙時間。所以我設置了0x00。實際上在UNO這里設置為1也是可以的。
6.       系統時鐘源的設置:1111-1010表示外接晶振,其它比如內部晶振,RC振蕩我就不寫啦,大家感興趣的可以Q我,大家一起學習或者查一查資料。
       CKOPT,CKSEL3 KSEL2,KSEL1,KSEL0.設置的是起振時電容的容量,因為我用的是外部晶振,22pF的方式提供時鐘源,所以設置為:1,1,1,1.之前沒有設置,所以導致了單片機不知道用那個作為時鐘源,導致時鐘混亂,所以也就是我看到的程序傳輸時接收和發送燈的閃亮問題。經過驗證原因出在這里。
大概就這么多吧,當然要設置的還有其它,呵呵。時間比較有限,所以只是把我用到的進行了研究,其它一些位就等待以后再研究了。

關閉窗口

相關文章

主站蜘蛛池模板: 国精品一区二区 | 超碰操 | 日韩av免费在线观看 | 国产精品综合久久 | 日韩精品一区二区久久 | 日韩精品成人网 | 黄色一级电影免费观看 | 韩国精品一区二区三区 | gav成人免费播放视频 | 精品综合 | 成人三级视频 | 91精品国产91久久久久久吃药 | 欧美精三区欧美精三区 | 人妖av| 亚洲国产精品一区二区三区 | 网址黄 | 国产在线精品一区二区三区 | 中文字幕av一区二区三区 | 日韩中文字幕一区二区 | 久久精品国产一区二区电影 | 一区二区三区日韩 | 国产午夜av片 | 小早川怜子xxxxaⅴ在线 | 亚洲一区二区黄 | 久久久久国产一区二区三区四区 | 日本欧美在线 | 天天干亚洲| 狠狠色综合久久丁香婷婷 | 爱草视频 | 狠狠婷婷综合久久久久久妖精 | 一区二区成人 | 亚洲第一在线视频 | 美女日皮网站 | 国产免费人成xvideos视频 | 日韩成人精品一区二区三区 | 国产精品乱码一区二区三区 | 91在线看| 成年男女免费视频网站 | 欧美一区二区三区在线观看 | 99免费视频| 欧美综合在线观看 |