新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AVR單片機(jī)開發(fā)環(huán)境搭建

AVR單片機(jī)開發(fā)環(huán)境搭建

作者: 時(shí)間:2016-11-19 來源:網(wǎng)絡(luò) 收藏
一、開發(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)

    1. M161C: 工作于162模式還是161模式;
    2. BODLEVEL:掉電檢測設(shè)置;
    3. OCDEN:片上調(diào)試使能;
    4. JTAGEN:JTAGE口下載使能;
    5. SPIEN:SPI使能位;
    6. WDTON:看門狗使能級別設(shè)置;
    7. EESAVE: EEPROM中內(nèi)容是否要保留;
    8. BOOTSZ:用于設(shè)置程序塊和啟動(dòng)塊;
    9. BOOTRSZ:控制復(fù)位向量所在的位置;
    10. CKDIV8:時(shí)鐘源預(yù)分頻;
    11. CKOUT:系統(tǒng)輸出時(shí)鐘使能位;
    12. SUT_CKSEL:設(shè)置系統(tǒng)時(shí)鐘的方式;

三、根據(jù)主板設(shè)置熔絲位

    1. Atmega162使用的外部晶振為11.0592MHZ,設(shè)置熔絲位CKSEL和SUT相應(yīng)位,使系統(tǒng)采用外部時(shí)鐘,上電時(shí)間為4.1ms;
    2. 輸出時(shí)鐘禁止,不用預(yù)分頻,復(fù)位地址設(shè)定0000;即CKOUT = 1; CKDIV8 = 1; BOOTRST = 1;
    3. 設(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ù)位。



評論


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

關(guān)閉