AVR單片機(jī)開(kāi)發(fā)環(huán)境搭建
CodeVisionAVR C Compiler用于程序的編輯以及編譯.AVR Studio 4與USB AVR JTAGICE mkll-CN 用于在線(xiàn)調(diào)試和程序燒寫(xiě)。
本文引用地址:http://www.biyoush.com/article/201611/318466.htm
二、AVR Studio 4中熔絲位的設(shè)置(在Fuses標(biāo)簽中,相應(yīng)位打鉤表示program即寫(xiě)0;不選中表示未編程即1)
- M161C: 工作于162模式還是161模式;
- BODLEVEL:掉電檢測(cè)設(shè)置;
- OCDEN:片上調(diào)試使能;
- JTAGEN:JTAGE口下載使能;
- SPIEN:SPI使能位;
- WDTON:看門(mén)狗使能級(jí)別設(shè)置;
- EESAVE: EEPROM中內(nèi)容是否要保留;
- BOOTSZ:用于設(shè)置程序塊和啟動(dòng)塊;
- BOOTRSZ:控制復(fù)位向量所在的位置;
- CKDIV8:時(shí)鐘源預(yù)分頻;
- CKOUT:系統(tǒng)輸出時(shí)鐘使能位;
- SUT_CKSEL:設(shè)置系統(tǒng)時(shí)鐘的方式;
三、根據(jù)主板設(shè)置熔絲位
- Atmega162使用的外部晶振為11.0592MHZ,設(shè)置熔絲位CKSEL和SUT相應(yīng)位,使系統(tǒng)采用外部時(shí)鐘,上電時(shí)間為4.1ms;
- 輸出時(shí)鐘禁止,不用預(yù)分頻,復(fù)位地址設(shè)定0000;即CKOUT = 1; CKDIV8 = 1; BOOTRST = 1;
- 設(shè)置162模式,看門(mén)狗二級(jí)模式,JTAG口使能.掉電檢測(cè)禁止
具體的熔絲位的值如下圖
四、問(wèn)題描述與解決方法
由于升級(jí)主板,將原先的ISP下載改成JTAG下載方式,將SPI接口用于外部端口數(shù)據(jù)的采集。寫(xiě)測(cè)試程序測(cè)試JTAG下載器;
- 出錯(cuò)現(xiàn)象:
1,使用主板上的LED進(jìn)行調(diào)試.其中PORTE.2口與LED連接。對(duì)該IO口賦值能夠控制LED燈的亮滅。但是如果想實(shí)現(xiàn)LED燈的閃爍.則LED的狀態(tài)為延時(shí)前的IO口的值;
2,通過(guò)JTAG口連接仿真器,進(jìn)行單步調(diào)試.可以順利進(jìn)入中斷計(jì)時(shí)函數(shù),LED燈閃爍正常。但是全速執(zhí)行程序會(huì)跑飛。
- 解決方法:
讀取老版本主板上Atmega162的熔絲位設(shè)置,差別在看門(mén)狗的設(shè)置。由于在新主板上對(duì)162的看門(mén)狗熔絲使能,以至程序會(huì)復(fù)位。
評(píng)論