文档库 最新最全的文档下载
当前位置:文档库 › ICCAVR 和AVR Stdio之间的转化

ICCAVR 和AVR Stdio之间的转化

ICCAVR 和AVR Stdio之间的转化
ICCAVR 和AVR Stdio之间的转化

列出ICC AVR 过渡到 AVR STUDIO时要注意的几个问题

1.头文件更改

ICCAVR使用的是“#include

AVR STUDIO更改为“#include

在ICC中使用不同MCU的头文件是不同的,在AVR studio中所有MCU的头文件都用“#include

2.AVR studio中延时函数可直接使用“#include ”头文件中的延时函数:

void _delay_us (double __us);

void _delay_ms(double __ms);

两个函数的参数均为double型的,通常使用整数延时即可。

(函数最大延时时间是有限制的,参考“util/delay.h”)

3.中断函数写法不同

在ICC 中断函数名可以自定义

列出ATmega16的向量表:

#define IT_RESET 1

#define IT_INT0 2

#define IT_INT1 3

#define IT_TIMER2_COMP 4

#define IT_TIMER2_OVF 5

#define IT_TIMER1_CAPT 6

#define IT_TIMER1_COMPA 7

#define IT_TIMER1_COMPB 8

#define IT_TIMER1_OVF 9

#define IT_TIMER0_OVF 10

#define IT_SPI_STC 11

#define IT_USART_RXC 12

#define IT_USART_UDRE 13

#define IT_USART_TXC 14

#define IT_ADC 15

#define IT_EE_RDY 16

#define IT_ANA_COMP 17

#define IT_TWI 18

#define IT_INT2 19

#define IT_TIMER0_COMP 20

#define IT_SPM_RDY 21

#pragma interrupt_handler user_fuc:Interrupt vector number

如:

#pragma interrupt_handler Time2:iv_TIMER2_COMP

void Time2()

{

}

AVR studio中需添加“#include ”头文件且中断函数名不能自定义

如:

#include

ISR(SIG_OVERFLOW0) //定时器/计数器0溢出中断(ICC AVR 过渡到 AVR STUDIO

4.一些库函数的不同

ICC AVR studio

nop() asm("nop")

WDR() asm("wdr") CLI() cli()

SEI() sei()

ICCAVR入门编程

ICC AVR入门编程 下面是本试验板中的例子,点亮一个发光二极管实验。采用试验板自带的项目学习,省去了文件编写及工程创建等一大堆过程。让初学者尽快完成第一个实验,等到成功后再来学习一些创建过程及相关设置(先实践再理论),ICC AVR编程例子。 1、打开ICC AVR软件: 2、由主菜单project(工程)里选new(打开工程)选项,建立一个新项目。 3、选择新工程的存放路径,如存放在exp文件夹中。

4、给工程起个名字,如exp1。 5、点击“保存”按钮,将工程保存至exp1文件夹中 6、返回ICC界面,可以看到右边出现这个界面 7、将实验例程\1点亮1个LED\ICC代码文件夹中led.c文件复制到exp1文件夹中。 8、右击ICC界面右边EXP1下面的files文件,出现下面的界面,双击led.c文件就可以添加文件到工程exp1中。 9、由菜单上点击Project->Options->Target,在Device Configuration里选芯片型号为ATMega16;在Advanced(高级)Return Stack Size(堆栈大小)里填30。

10、完成上面的操作,现在就可以编译了,通过菜单Project->Rebuild All对项目进行编译。如果上面操作没有出错的话,会在项目相同路径下出现烧录文件exp1.hex。 11、到此ICC AVR软件的工作已经完成,将编译输出的led.hex文件烧录到芯片中,连接好硬件电路既可看到实验结果了。 本店是宛峰电子山东济南分店,宛峰电子致力于单片机的开发和学习,秉承物美价廉的宗旨,相互学习才会走的更高,看的更远的理念,锐意创新,多年来形成了自己的知识产权的系列 产品,并且公司常年从事单片机的开发,积累了不少相关的经验,相信我们产品会给你学习开发带来很大的方便 主要经营各种学习板,有: 1.全功能51学习板;AVR学习板;cpld学习板;430学习板;dsp2812学习;ARM7,9学习板,品类齐全,性价比高,全部是精英电子独立自主产权. 2.各类开发工具,包括51/AVR并口下载器,51/AVR USB下载器,AVR串口,USB仿真器,430下载器,alteraCPLD并口下载器,xilinux CPLD并口下载器等 3.各种学习视频,包括51,AVR,cpld,430,cpld,DXP2004,arm.linux系列手把手教你嵌入式视频教程,利于新手起步.

ICCAVR-AVR_BootLoader

ICCAVR-AVR_BootLoader-AVR BootLoader详解 ATmega128具备引导加载支持的用户程序自编程功能(In-System Programming by On-chipBoot Program),它提供了一个真正的由MCU 本身自动下载和更新(采用读/写同时"Read-While-Write"进行的方式)程序代码的系统程序自编程更新的机制。利用AVR的这个功能,可以实现在应用编程(IAP)以及实现系统程序的远程自动更新的应用。 IAP的本质就是,MCU可以灵活地运行一个常驻Flash的引导加载程序(Boot Loader Program),实现对用户应用程序的在线自编程更新。引导加载程序的设计可以使用任何的可用的数据接口和相关的协议读取代码,或者从程序存储器中读取代码,然后将代码写入(编程)到Flash存储器中。 引导加载程序有能力读写整个Flash存储器,包括引导加载程序所在的引导加载区本身。引导加载程序还可以对自身进行更新修改,甚至可以将自身删除,使系统的自编程能力消失。引导加载程序区的大小可以由芯片的熔丝位设置,该段程序区还提供两组锁定位,以便用户选择对该段程序区的不同级别的保护。 本节将给出一个实际的的Boot Loader程序,它可以配合Windows中的超级终端程序,采用Xmodem传输协议,通过RS232接口下载更新用户的应用程序。 5.2.1 基本设计思想 1.Boot Loader程序的设计要点 Boot Loader程序的设计是实现IAP的关键,它必须能过通过一个通信接口,采用某种协议正确的接收数据,再将完整的数据写入到用户程序区中。本例Boot Loader程序的设计要点有: (1)采用ATmega128的USART口实现与PC之间的简易RS232三线通信; (2)采用Xmodem通信协议完成与PC机之间的数据交换; (3)用户程序更新完成后自动转入用户程序执行; (4)Boot Loader程序采用C语言内嵌AVR汇编方式编写,阅读理解方便,可移植性强,代码小于1K字。 2.Xmodem通信协议 Xmodem协议是一种使用拨号调制解调器的个人计算机通信中广泛使用的异步文件运输协议。这种协议以128字节块的形式传输数据,并且每个块都使用一个校验和过程来进行错误检测。如果接收方关于一个块的校验和与它在发送方的校验和相同时,接收方就向发送方发送一个认可字节。为了便于读者阅读程序,下面简要说明该协议的主要特点,有关Xmoden的完整的协议请参考其它相关的资料。 (1)Xmodem的控制字符:01H、04H、06H、15H、18H、1AH。 (2)Xmodem传输数据块格式:" 个字节的数据块...> "。其中为起始字节; 为数据块编号字节,每次加一;是前一字节的反码;接下来是长度为128字节的数据块;最后的是128字节数据的CRC校验码,长度为2个字节。 (3)接收端收到一个数据块并校验正确时,回送;接收错误回送;而回送表示要发送端停止发送。 (4)发送端收到后,可继续发送下一个数据块(packNO+1);而收到则可再次重发上一个数据块。 (5)发送端发送表示全部数据发送完成。如果最后需要发送的数据不足128个字节,用填满一个数据块。 (6)控制字符"C"有特殊的作用,当发送端收到"C"控制字符时,它回重新开始以CRC校验方式发送数据块(packNO = 1)。 (7)每发送一个新的数据块 加1,加到OxFF后下一个数据块的 为零。 (8)校验方式采用16位CRC校验(X^16 + X^12 + X^5 + 1)。 5.2.2 源程序代码 下面给出的源程序是在ICCAVR中实现的。 /***************************************************** 采用串行接口实现Boot_load应用的实例 华东师大电子系马潮2004.07 Compiler: ICC-AVR 6.31

ALTERA FPGA EP2C5Q 开发板用户手册

ALTERA FPGA EP2C5Q 开发板 用户手册 上海亿家网络有限公司

版权所有 ? 上海亿家网络有限公司 2013。 保留一切权利。 非经上海亿家网络有限公司书面同意,任何单位和个人不得擅自摘抄、复制本手册内容的部分或全部,并不得以任何形式传播。 本手册中描述的产品中,可能包含上海亿家网络有限公司及其可能存在的许可人享有版权的软件,除非获得相关权利人的许可,否则,任何人不能以任何形式对前述软件进行复制、分发、修改、摘录、反编译、反汇编、解密、反向工程、转让、分许可以及其他侵犯软件版权的行为。

本手册描述了ALTERA FPGA EP2C5Q开发板的硬件资源、安装、使用和设计原理,用以指导开发板使用。 本手册对应开发板的主要用户为高校学生、电子爱好者、科研单位、企事业单位的开发设计人员,适合于产品原型的快速开发、学生参加各种电子设计大赛、学习FPGA技术入门、课程设计及毕业设计等,亦可用于系统设计前期快速评估,特别适合于FPGA、NIOSII、SOPC 快速入门和产品开发及验证。

1 安全警告和注意事项 (5) 2开发板主要器件及硬件资源 (7) 2.1 主要器件 (7) 2.2 硬件资源 (7) 2.3 PCB和尺寸 (9) 3 开发板的安装和使用 (10) 3.1 开发板安装 (10) 3.2 开发板的使用 (11) 4开发板设计详细说明 (17) 4.1 电源电路 (17) 4.2 时钟电路 (17) 4.3 复位电路 (18) 4.4 JTAG接口电路 (18) 4.5 AS接口电路 (19) 4.6 LED电路 (19) 4.7 存储器SDRAM电路 (19) 4.8外部扩展IO (21) 5技术支持与保修 (23) 5.1关于技术支持 (23) 5.2 关于产品保修 (23) 附录常见问题解答 (24)

nlint安装及使用教程

nLint安装及使用教程 V1.0版本 计通学院通信电子实验室 二〇一五年八月十二日

一、简介 1、何为nLint 一个HDL规则检查软件,检查代码的语法和语义错误,比如异步反馈,卡关时钟,RTL和门级错配等。有助于仿真,综合,ATPG各阶段。 相比起Quartus II等编译工具,nlint可以检查很多规则,包括RMM、命名、代码风格等。而平常利用Quartus II编译时,只要没有语法错误基本可以通过,但存在一些命名不规则、时序风险、结构混乱等问题却无法报出。这是规范代码风格的良好工具。 可以识别时钟域,自动列出跨时钟区域的路径。还能和novas的其他工具nTrace,nSchem亲密交互。 2、好处 nLint可以帮助创建正确语法语义的HDL代码,另外,可用于: ●确保健壮的设计风格,比如同步设计,一致的时钟配置和复位信号。。 ●鼓励使用特定的语言结构 ●强制代码风格和命名规则 ●缩短设计者花在各种工具上的时间,如仿真,综合,ATPG ●在早期阶段查找潜在的错误,减少设计反复的次数 ●创建容易阅读和维护的代码有助于协同设计,并且 ●达到复用设计的目标 ●工作上经常会用到,是必备工具。 3、安装方法 地址:每台电脑的资料盘,或查找nLint.zip (1)解压后,双击e011_nlint22v24nt.exe 并安装,本教程默认安装于D盘

(2)安装完毕后,进入安装的目录D:\Novas\nLint2.2v24\bin (3)找到 nLint.exe ,用UltraEdit 打开(若没有这个软件,请百度下载) (4)打开后,界面如图所示,左边是地址,右边是地址里面的内容按ctrl+F进行搜索,搜索内容为 8B 45 F8 8B E5 5D C3 55 8B EC 81 EC 90 01 00 00

#pragma data code ICCAVR的使用

#pragma data:code 在Keil中为了节省数据存储器的空间,通过“code”关键字来定义一个数组或字符串将被存储在程序存储器中: uchar code buffer[]={0,1,2,3,4,5}; uchar code string[]="Armoric" ; 而这类代码移值到ICCAVR上时是不能编译通过的。我们可以通过"const" 限定词来实现对存储器的分配: #pragma data:code const unsigned char buffer[]={0,1,2,3,4,5}; const unsigned char string[]="Armoric"; #pragma data:data 注意: 《1》使用ICCAVR6.31时,#pragma data :code ;#pragma data:data ; 这些语法时在"data:cod"、"data:data"字符串中间不能加空格,否则编译不能通过。 《2》const 在ICCAVR是一个扩展关键词,它与ANSIC标准有冲突,移值到其它的编译器使用时也需要修改相关的地方。 在ICCAVR中对数组和字符串的五种不同空间分配: const unsigned char buffer[]={0,1,2,3,4,5}; //buffer数组被分配在程序存储区中 const unsigned char string[]="Armoric" ; //stringp字符串被分配在程序存储区中 const unsigned char *pt //指针变量pt被分配在数据存储区中,指向程序存储区中的字符类型数据 unsigned char *const pt //指针变量pt被分配在程序存储区中,指向数据存储区中的字符类型数据 const unsigned char *const pt //指针变量pt被分配在程序存储区,指向程序存储区中的字符类型数据 unsigned char *pt //指针变量pt被分配在数据存储区中,指向数据存储区中的数据 请问#pragma data:code和#pragma data:data是什么意思? 前者表示:随后的数据将存贮在程序区,即FLASH区,此区只能存贮常量,比如表格之类。

Debussy 仿真快速上手教程

Debussy 介绍 Debussy 是 NOVAS Software, Inc(思源科技)发展的 HDL Debug & Analysis tool, 这套软体主要不是用 来跑模拟或看波形,它最强大的功能是:能够在 HDL source code、schematic diagram、waveform、state bubble diagram 之间,即时做 trace,协助工程师 debug。 可能您会觉的:只要有 simulator 如 ModelSim 就可以做 debug 了,我何必再学这套软体呢? 其实 Debussy v5.0 以后的新版本,还提供了 nLint -- check coding style & synthesizable,这蛮有用的,可以协 助工程师了解如何写好 coding style,并养成习惯。 下图所示为整个 Debussy 的原理架构,可归纳几个结论: Debussy 有四个主要单元(component),nTrace、nWave、nSchema、nState
nTrace -- Hypertext source code analysis and browse tool (为%Debussy &所开启的主 画面) nWave -- Waveform analysis tool (可由 nTrace 内开启,或直接%nWave &开启) nSchema -- Hierarchy schematic generator nState -- Finite State Machine Extraction and analysis tool
Debussy 本身不含模拟器(simulator),必须呼叫外部模拟器(如 Verilog-XL or ModelSim)产生 FSDB file,其显示波形的单元"nWave"透过读取 FSDB file,才能显示波形或讯号值的变化

如何搭建完善的仿真环境

verilog 仿真环境的搭建 1:项目文件的组织
时间: 2009/06/20, 22:37, 作者: 封 俊, 分类: FPGA. 已浏览:315 次 因为 ISE 内置的仿真工具功能比较弱(或者是我没有善于发掘?),所以大多数 的仿真都是交给第三方工具的,比如说 modelsim 以及 NC verilog。就我使用的 工具来说, 只有布局布线之后才是交给 ISE 来完成,之前的流程都可以有更为方 便的工具来替代。现在我所使用的仿真及调试环境主要由 vim+nlint+modelsim+debussy 构成, 使用起来还是相当方便的。 需要说明的是, 我是在 windows 下面使用这些工具的,如果 linux 下使用的话,可能可以更加强 大。 首先介绍下 project 目录下文件的组织方法。
点击图片看大图
左侧的项目主目录
test 目录:主要用来存放子模块仿真所需文件,每个子模块目录内的结构跟 project 目录下大致相同。 syn 目录:存放综合的项目文件及其产生的文件。 sim 目录:存放 rtl 仿真所使用的 testbench。 script 目录:用来存放仿真所需要运行的脚本(主要还是批处理文件)。 rtl 目录:用来存放 rtl 代码。 planahead:用来存放 planahead 工程文件及产生的文件。 others 目录:存放一时难以归类的文件。

ise 目录:用来存放 ise 的项目文件以及产生的文件,包括布局布线所需的文件 以及可供下载的二进制 bit 文件。 doc 目录:用来存放项目所需的参考文档。 core 目录:用来存放项目所需的核相关的文件。 c 目录:用来存放 c 语言程序。 backup 目录:用来存放临时备份。 tags 文件:vim 中自动生成的 tag 索引文件。 syncToy 文件:用于 Microsoft Synctoy 工具的文件,该工具主要用来进行不同 计算机的文件同步。 parameters.v:用于存放项目所需的参数。
右侧的 script 子目录
Debussy.exeLog 与 work 目录:分别是 Debussy 与 modelsim 产生的文件。 transcript 文件:modelsim 的生成的日志文件。 deb.bat:调用 Debussy 并载入项目中的 rtl 文件。 nlint.bat:调用 nlint 进行项目中 rtl 文件的规则检查。 sim.bat:调用 modelsim 进行仿真,并在仿真结束后启动 debussy 观察波形。 sim2.bat:调用 modelsim 进行仿真,但并不启动 debussy。 sim.do:modelsim 的仿真脚本。 run.f:项目中 rtl 的文件列表。 fsdb 文件:modelsim 仿真生成的波形文件。 *.log:仿真时产生的日志文件, 再将波形文件分割为多个文件时产生。 后面会有 介绍。 bram.mif:Block Ram 核初始化所需的数据文件。 novas.rc:debussy 的配置文件。 sig.rc:在 debussy 中察看波形时选择的信号列表。

modelsim_debussy_nlint综合使用方法

Modelsim_debussy_nlint综合使用方法 1软件安装 根据软件的安装说明分别安装Modelsim、Debussy、Nlint的软件并将其破解。三种软件最好不要安装在Program Files文件夹下,因为有时采用命令行调用软件时,文件名中间的空格可能会引起不必要麻烦。 1.1破解Modelsim 在C盘下创建flexm文件夹,将keygen.exe生成的license.dat文件拷贝到flexm文件夹下,如果此处还有别的应用软件的license,可以将2个license 直接合并。打开[系统属性]/高级/环境变量,创建变量LM_LICENSE_FILE,变量值为C:\flexm\license.dat。Modelsim破解完成。 1.2破解Debussy 打开debussy_crack,将Target File指向安装目录下的Debussy.exe文件,依次NEXT,替换掉5个文件,破解完成。 1.3破解Nlint 用安装源文件目录下的nLint.exe替换安装后的nLint.exe文件,破解完成。 1.4环境变量设置 按照如下例子,根据本机的实现情况完成环境变量的设置: Modelsim装在D:\Modeltech_6.2b环境变量path中追加D:\Modeltech_6.2b \win32 debussy装在D:\Debussy设置环境变量的path中追加D:\Debussy\bin nlint装在D:\nLint2.2v24环境变量path中追加D:\nLint2.2v24\bin 2软件准备 让所有软件工作在就绪状态下 2.1完成Modelsim库的添加 将XILINX的VHDL库文件夹拷贝到Modelsim的安装目录下,XILINX的VHDL库包括unisim、XilinxCoreLib、cpld、simprim 4个。同时将本目录中的novas 文件夹拷贝到Modelsim的安装目录下。然后将本目录中的modelsim.ini替换安装目录下的Modelsim.ini文件。 Modelsim.ini主要对以下几个地方进行了修改: 增加对XILINX的库的支持, cpld = $MODEL_TECH/../cpld

iccavr编译时出现的错误解决办法

初学者初用ICCAVR编程的时候,经常会出现一些错误,现在将常见的错误报告整理如下。这里的一些错误是为了展示说明而故意制造的,欢迎你提供你遇到的错误和解决方法。 一、正常编译通过 CODE: C:\icc\bin\imakew -f main.mak iccavr -c -IC:\icc\include\ -e -DA TMEGA -DA TMega16 -l -g -Mavr_enhanced D:\桌面\实验教程\LED应用\霓虹灯\main.c iccavr -o main -LC:\icc\lib\ -g -ucrtatmega.o -bfunc_lit:0x54.0x4000 -dram_end:0x45f -bdata:0x60.0x45f -dhwstk_size:16 -beeprom:1.512 -fihx_coff -S2 @main.lk -lcatmega Device 1% full. Done. [url="][/url] 这是我们最想看到的了,万事大吉。 二、工程中未加入.C文件 CODE: C:\icc\bin\imakew -f main.mak iccavr -o main -LC:\icc\lib\ -g -ucrtatmega.o -bfunc_lit:0x54.0x4000 -dram_end:0x45f -bdata:0x60.0x45f -dhwstk_size:16 -beeprom:1.512 -fihx_coff -S2 @main.lk -lcatmega unknown file type @main.lk, passed to linker !ERROR unknown file type '@main.lk' C:\icc\bin\imakew.exe: Error code 1 Done: there are error(s). Exit code: 1 解决办法:将你的程序加入工程中,可以右键程序区>>ADD to project 三、程序没有后缀名,或者后缀名不正确。 CODE: C:\icc\bin\imakew -f main.mak C:\icc\bin\imakew.exe: 'main' is up to date Done. 这是一个很难理解的错误,它是由工程中的程序文件没有后缀名造成的。 解决办法:将原有文件移出工程,将文件的后缀名改为.C,然后再加入工程中。 四、没有main函数

从ICC AVR 到 Atmel Studio 6

以前一直在用ICCAVR 感觉生成文档方便,现在发现了Atmel Studio 6, 因为偶尔会用C#(VS2010)所以一下子就喜欢上了这个编译器,我只用8bit 的AVR 另外也是刚刚接触,所以在移植过程中会遇到各种问题,以下是自己的一些问题写出来共大家参考; 1.MCU必须的头文件 例如在ICC AVR(以下简称ICC)中使用#include 或#include ,要根据不同的mcu 型号选择头文件。而在Atmel Studio 6 (以下简称AS6)中统一用#include 。(ICC AVR 7 的版本中也可以用统一的头文件了) 2.头文件 在ICC 中,头文件包含#include 。在AVRdef.h 中,宏定义了一些常用的汇编指令和一些不常用的函数。例如:(详细内容请参考ICC 安装程序中AVRdef.h) #define WDR() asm("wdr") #define SEI() asm("sei") #define CLI() asm("cli") #define NOP() asm("nop") #define SLEEP() asm("sleep"); #define _WDR() asm("wdr") #define _SEI() asm("sei") #define _CLI() asm("cli") #define _NOP() asm("nop") #define _SLEEP() asm ("sleep"); #define BIT(x) (1 << (x)); 在AS6 中,你可以直接使用asm("xxx")格式.或者用小写的sei();(当然要包含相应的头文件); Ps:如果移植ICC的代码比较麻烦,可以将这些宏命令添加到一个总的头文件(include.h) 中,所有c 文件都引用include.h,那么在移植过程中,将不需要修改代码。 3.延时函数 在ICC中,delay延时函数,需要自己写,往往不准。而在AS中,只需要加载一个头文件#include ,就可以使用两个标准的延时函数,分别是_delay_ms(double __ms)和_delay_us(double __us),虽然参数为double型,但可赋整型值。注意在调用前定义#define F_CPU 16000000UL(我也不知道为什么要加UL),这样延时10ms的函数写为_delay_ms(10)。 4.中断函数 例如T0 溢出中断,在ICC 中如下定义: #pragma interrupt_handler timer0_ovf_isr:iv_TIMER0_OVF void timer0_ovf_isr(void) {…} timer0_ovf_isr 这个函数名是自定义的。 而在A6中,需加载头文件#include ,并且函数名为ISR,不可自定义函数名,格式如下:ISR( TIMER0_OVF_vect ) {…} TIMER0_OVF_vect 含义同iv_TIMER0_OVF ,是T0溢出中断号。不同型号mcu的中断向量号的名称不同,A6的中断向量号请从avr/iomXXX.h中查找。 5.EEPROM操作函数 在ICC中加载头文件#include 后,可以使用如下两个读写函数: EEPROM_read(addr, var); //读EEPROM中的一个字节 EEPROM_write (addr, var); //向EEPROM中写入一个字节

ICCAVR 和AVR Stdio之间的转化

列出ICC AVR 过渡到 AVR STUDIO时要注意的几个问题 1.头文件更改 ICCAVR使用的是“#include ” AVR STUDIO更改为“#include ” 在ICC中使用不同MCU的头文件是不同的,在AVR studio中所有MCU的头文件都用“#include ” 2.AVR studio中延时函数可直接使用“#include ”头文件中的延时函数: void _delay_us (double __us); void _delay_ms(double __ms); 两个函数的参数均为double型的,通常使用整数延时即可。 (函数最大延时时间是有限制的,参考“util/delay.h”) 3.中断函数写法不同 在ICC 中断函数名可以自定义 列出ATmega16的向量表: #define IT_RESET 1 #define IT_INT0 2 #define IT_INT1 3 #define IT_TIMER2_COMP 4 #define IT_TIMER2_OVF 5 #define IT_TIMER1_CAPT 6 #define IT_TIMER1_COMPA 7 #define IT_TIMER1_COMPB 8 #define IT_TIMER1_OVF 9 #define IT_TIMER0_OVF 10

#define IT_SPI_STC 11 #define IT_USART_RXC 12 #define IT_USART_UDRE 13 #define IT_USART_TXC 14 #define IT_ADC 15 #define IT_EE_RDY 16 #define IT_ANA_COMP 17 #define IT_TWI 18 #define IT_INT2 19 #define IT_TIMER0_COMP 20 #define IT_SPM_RDY 21 #pragma interrupt_handler user_fuc:Interrupt vector number 如: #pragma interrupt_handler Time2:iv_TIMER2_COMP void Time2() { } AVR studio中需添加“#include ”头文件且中断函数名不能自定义 如: #include ISR(SIG_OVERFLOW0) //定时器/计数器0溢出中断(ICC AVR 过渡到 AVR STUDIO 4.一些库函数的不同 ICC AVR studio nop() asm("nop")

ICCAVR 使用快速入门

AVR ICC 使用快速入门菜单解释 1、关于窗口设置:[如图] 如上图:这是ICC avr 6.31 版本的窗口,分为5大区。 1. 菜单项 1. 文件 ?新建,打开,打印文件等常规选项。很别扭的一件事关闭文件在菜单里。 2. 编辑 ?复制,粘贴,删除,撤销,重做等常规操作,一看就明白。 3. 搜索 ?搜索功能,书签功能,可以使用添加标签,删除标签,下一个标签,转到标签。 你可以直接点击左侧快速添加或删除标签。

? 4. 视图 ?对新手几乎没有用处,你可以用它显示或者隐藏工程文件窗口,编译状态窗口。 查看输出文件,makefile文件,Map文件。 5. Project Menu 工程菜单 1. New... –创建一个新的工程文件 2. Open –打开一个已经存在的工程文件 3. Open All Files... –打开工程的全部源文件 4. Close All Files –关闭全部打开的文件 5. Reopen... –重新打开一个最近打开过的工程文件 6. Make Project –解释和编译已经修改的文件为输出文件*注意与7Rebuild All的 区别 7. Rebuild All –重新构筑全部文件注意在版本升级后对原有工程最好全部重新构 筑* 8. Add File(s) –添加一个文件到工程中这个文件可以是非源文件 9. Remove Selected Files –从工程中删除选择的文件 10. Option... –打开工程编译选项对话框 11. Close –关闭工程 12. Save As... –将工程换一个名称存盘

13. 6. Tools Menu 工具菜单 0. Environment Options –打开环境和终端仿真器选项对话框 1. Editor and Print Options –打开编辑和打印选项对话框 2. AVR Calc –打开AVR 计算器可以计算 3. UART 的波特率定时器的定时常数 4. Application Builder –打开应用向导程序生成硬件的初始化代码cool,对新手非 常有用 5. Configure Tools –允许你添加自己的内容到工具菜单 6. Run –以命令行方式运行一个程序 7. Terminal 电脑终端 使用很少,串口调试终端 8. Help 帮助不用我说了。 2. 快捷菜单图标 o从左到右依次为:新建,打开,保存,打印,剪切,复制,粘贴,查找,编译,停止,工程属性,到第一个错误,下一个错误,应用向导程序Application Builder,ISP对话框。 3. 程序编辑区 o所有的程序编辑工作在这里完成。 o点右键有快捷菜单,最常用的事新建一个文件编辑之后,加入到工程。

ICCAVR的中文使用说明书(详细)

(转贴)下面的更详细点 ICCAVR中文使用说明(1) ImageCraft ICCAVR 的中文使用说明 ICCAVR 介绍 1 ImageCraft 的ICCAVR 介绍 ImageCraft 的ICCAVR 是一种使用符合ANSI 标准的C 语言来开发微控制器MCU 程序的一个工具它有以下几个主要特点 ICCAVR 是一个综合了编辑器和工程管理器的集成工作环境IDE 其可在 WINDOWS9X/NT 下工作 源文件全部被组织到工程之中文件的编辑和工程的构筑也在这个环境中完成编译 错误显示在状态窗口中并且当你用鼠标单击编译错误时光标会自动跳转到编辑窗口中 引起错误的那一行这个工程管理器还能直接产生您希望得到的可以直接使用的INTEL HEX 格式文件INTEL HEX 格式文件可被大多数的编程器所支持用于下载程序到芯片 中去 ICCAVR 是一个32 位的程序支持长文件名 出于篇幅考虑本说明书并不介绍通用的C 语言语法知识仅介绍使用ICC AVR 所 必须具备的知识因此要求读者在阅读本说明书之前应对C 语言有了一定程度的理解 2 ICCAVR 中的文件类型及其扩展名 文件类型是由它们的扩展名决定的IDE 和编译器可以使用以下几种类型的文件 输入文件 .c 扩展名----表示是C 语言源文件 .s 扩展名----表示是汇编语言源文件 .h 扩展名----表示是C 语言的头文件 .prj 扩展名----表示是工程文件这个文件保存由IDE 所创建和修改的一个工程的有 关信息 .a 扩展名----库文件它可以由几个库封装在一起libcavr.a 是一个包含了标准C 的 库和AVR 特殊程序调用的基本库如果库被引用链接器会将其链接到您的模块或文件中 您也可以创建或修改一个符合你需要的库 输出文件 .s 对应每个C 语言源文件由编译器在编译时产生的汇编输出文件 .o 由汇编文件汇编产生的目标文件多个目标文件可以链接成一个可执行文件 .hex INTEL HEX 格式文件其中包含了程序的机器代码 .eep INTEL HEX 格式文件包含了EEPROM 的初始化数据 .cof COFF 格式输出文件用于在ATMEL 的AvrStudio 环境下进行程序调试 .lst 列表文件在这个文件中列举出了目标代码对应的最终地址 .mp 内存映象文件它包含了您程序中有关符号及其所占内存大小的信息 .cmd NoICE 2.xx 调试命令文件 .noi NoICE 3.xx 调试命令文件 .dbg ImageCraft 调试命令文件 3 附注和扩充 #pragma 编译附注 这个编译器接受以下附注 #pragma interrupt_handler : : ...

AVR+ICC+与AVR+STUDIO+使用说明

ICC AVR是一款非常好用的AVR编译软件,官方网站:https://www.wendangku.net/doc/8d6663363.html,目前最新版为7.0,本站的所有例程都以ICC AVR为开发平台。如果你还没有配置好开发环境,请参看:AVR 开发环境ICC+AVRstudio配置。 第一部分: 1、关于窗口设置:[如图] 如上图:这是ICC avr 6.31 版本的窗口,分为5大区。 1. 菜单项 1. 文件 ?新建,打开,打印文件等常规选项。很别扭的一件事关闭文件在菜单里。 2. 编辑 ?复制,粘贴,删除,撤销,重做等常规操作,一看就明白。 3. 搜索 ?搜索功能,书签功能,可以使用添加标签,删除标签,下一个标签,转到标签。 你可以直接点击左侧快速添加或删除标签。

? 4. 视图 ?对新手几乎没有用处,你可以用它显示或者隐藏工程文件窗口,编译状态窗口。 查看输出文件,makefile文件,Map文件。 5. Project Menu 工程菜单 1. New... –创建一个新的工程文件 2. Open –打开一个已经存在的工程文件 3. Open All Files... –打开工程的全部源文件 4. Close All Files –关闭全部打开的文件 5. Reopen... –重新打开一个最近打开过的工程文件 6. Make Project –解释和编译已经修改的文件为输出文件*注意与7Rebuild All的 区别 7. Rebuild All –重新构筑全部文件注意在版本升级后对原有工程最好全部重新构 筑* 8. Add File(s) –添加一个文件到工程中这个文件可以是非源文件 9. Remove Selected Files –从工程中删除选择的文件 10. Option... –打开工程编译选项对话框 11. Close –关闭工程 12. Save As... –将工程换一个名称存盘

相关文档