AVR單片機(jī)開發(fā)環(huán)境搭建
CodeVisionAVR C Compiler用于程序的編輯以及編譯.AVR Studio 4與USB AVR JTAGICE mkll-CN 用于在線調(diào)試和程序燒寫。
本文引用地址:http://butianyuan.cn/article/201611/318466.htm
二、AVR Studio 4中熔絲位的設(shè)置(在Fuses標(biāo)簽中,相應(yīng)位打鉤表示program即寫0;不選中表示未編程即1)
- M161C: 工作于162模式還是161模式;
- BODLEVEL:掉電檢測設(shè)置;
- OCDEN:片上調(diào)試使能;
- JTAGEN:JTAGE口下載使能;
- SPIEN:SPI使能位;
- WDTON:看門狗使能級別設(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模式,看門狗二級模式,JTAG口使能.掉電檢測禁止
具體的熔絲位的值如下圖
四、問題描述與解決方法
由于升級主板,將原先的ISP下載改成JTAG下載方式,將SPI接口用于外部端口數(shù)據(jù)的采集。寫測試程序測試JTAG下載器;
- 出錯(cuò)現(xiàn)象:
1,使用主板上的LED進(jìn)行調(diào)試.其中PORTE.2口與LED連接。對該IO口賦值能夠控制LED燈的亮滅。但是如果想實(shí)現(xiàn)LED燈的閃爍.則LED的狀態(tài)為延時(shí)前的IO口的值;
2,通過JTAG口連接仿真器,進(jìn)行單步調(diào)試.可以順利進(jìn)入中斷計(jì)時(shí)函數(shù),LED燈閃爍正常。但是全速執(zhí)行程序會跑飛。
- 解決方法:
讀取老版本主板上Atmega162的熔絲位設(shè)置,差別在看門狗的設(shè)置。由于在新主板上對162的看門狗熔絲使能,以至程序會復(fù)位。
評論