新聞中心

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

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

作者: 時間:2016-11-19 來源:網(wǎng)絡(luò) 收藏
一、開發(fā)環(huán)境搭建

CodeVisionAVR C Compiler用于程序的編輯以及編譯.AVR Studio 4與USB AVR JTAGICE mkll-CN 用于在線調(diào)試和程序燒寫。

本文引用地址:http://m.butianyuan.cn/article/201611/318466.htm

二、AVR Studio 4中熔絲位的設(shè)置(在Fuses標簽中,相應(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è)置程序塊和啟動塊;
    9. BOOTRSZ:控制復位向量所在的位置;
    10. CKDIV8:時鐘源預分頻;
    11. CKOUT:系統(tǒng)輸出時鐘使能位;
    12. SUT_CKSEL:設(shè)置系統(tǒng)時鐘的方式;

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

    1. Atmega162使用的外部晶振為11.0592MHZ,設(shè)置熔絲位CKSEL和SUT相應(yīng)位,使系統(tǒng)采用外部時鐘,上電時間為4.1ms;
    2. 輸出時鐘禁止,不用預分頻,復位地址設(shè)定0000;即CKOUT = 1; CKDIV8 = 1; BOOTRST = 1;
    3. 設(shè)置162模式,看門狗二級模式,JTAG口使能.掉電檢測禁止

具體的熔絲位的值如下圖

四、問題描述與解決方法

由于升級主板,將原先的ISP下載改成JTAG下載方式,將SPI接口用于外部端口數(shù)據(jù)的采集。寫測試程序測試JTAG下載器;

  • 出錯現(xiàn)象:

1,使用主板上的LED進行調(diào)試.其中PORTE.2口與LED連接。對該IO口賦值能夠控制LED燈的亮滅。但是如果想實現(xiàn)LED燈的閃爍.則LED的狀態(tài)為延時前的IO口的值;

2,通過JTAG口連接仿真器,進行單步調(diào)試.可以順利進入中斷計時函數(shù),LED燈閃爍正常。但是全速執(zhí)行程序會跑飛。

  • 解決方法:

讀取老版本主板上Atmega162的熔絲位設(shè)置,差別在看門狗的設(shè)置。由于在新主板上對162的看門狗熔絲使能,以至程序會復位。



評論


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

關(guān)閉