微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > AVR单片机开发环境搭建

AVR单片机开发环境搭建

时间:11-19 来源:互联网 点击:
一、开发环境搭建

CodeVisionAVR C Compiler用于程序的编辑以及编译.AVR Studio 4与USB AVR JTAGICE mkll-CN 用于在线调试和程序烧写。

二、AVR Studio 4中熔丝位的设置(在Fuses标签中,相应位打钩表示program即写0;不选中表示未编程即1)

    1. M161C: 工作于162模式还是161模式;
    2. BODLEVEL:掉电检测设置;
    3. OCDEN:片上调试使能;
    4. JTAGEN:JTAGE口下载使能;
    5. SPIEN:SPI使能位;
    6. WDTON:看门狗使能级别设置;
    7. EESAVE: EEPROM中内容是否要保留;
    8. BOOTSZ:用于设置程序块和启动块;
    9. BOOTRSZ:控制复位向量所在的位置;
    10. CKdiv8:时钟源预分频;
    11. CKOUT:系统输出时钟使能位;
    12. SUT_CKSEL:设置系统时钟的方式;

三、根据主板设置熔丝位

    1. Atmega162使用的外部晶振为11.0592MHZ,设置熔丝位CKSEL和SUT相应位,使系统采用外部时钟,上电时间为4.1ms;
    2. 输出时钟禁止,不用预分频,复位地址设定0000;即CKOUT = 1; CKdiv8 = 1; BOOTRST = 1;
    3. 设置162模式,看门狗二级模式,JTAG口使能.掉电检测禁止

具体的熔丝位的值如下图

四、问题描述与解决方法

由于升级主板,将原先的ISP下载改成JTAG下载方式,将SPI接口用于外部端口数据的采集。写测试程序测试JTAG下载器;

  • 出错现象:

1,使用主板上的LED进行调试.其中PORTE.2口与LED连接。对该IO口赋值能够控制LED灯的亮灭。但是如果想实现LED灯的闪烁.则LED的状态为延时前的IO口的值;

2,通过JTAG口连接仿真器,进行单步调试.可以顺利进入中断计时函数,LED灯闪烁正常。但是全速执行程序会跑飞。

  • 解决方法:

读取老版本主板上Atmega162的熔丝位设置,差别在看门狗的设置。由于在新主板上对162的看门狗熔丝使能,以至程序会复位。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top