新闻中心

EEPW首页>嵌入式系统>设计应用> IAR For AVR 关于 comp_a90.h 头文件的使用

IAR For AVR 关于 comp_a90.h 头文件的使用

作者: 时间:2016-12-03 来源:网络 收藏
使用comp_a90.h头文件时最好包括intrinsics.h头文件,intrinsics.h内在函数提供最简单的操作处理器底层特征。休眠,看门狗,FLASH函数。

/**************************************************************
** - INAVR.H -
**
** Backwards compatibility macros for iccAVR
**
** Used with iccAVR.
**
** CopyrightIARSystems 1999. All rights reserved.
**
** File version: $Revision: 1.3 $
**
**************************************************************/

本文引用地址://m.amcfsurvey.com/article/201612/325117.htm

#ifdef __IAR_SYSTEMS_ICC__
#ifndef _SYSTEM_BUILD
#pragma system_include
#endif
#endif

#ifndef __COMP_A90_H
#define __COMP_A90_H

#ifdef __ICCAVR__

#define tiny __tiny
#define near __near
#define far __far
#define huge __huge

#define flash const __flash
#define farflash const __farflash

#define nearfunc __nearfunc
#define farfunc __farfunc

#definesfrb int int int Cannot use sfrb keyword in iccAVR;
#define sfrw int int int Cannot use sfrw keyword in iccAVR;

#define monitor __monitor
#define C_task __C_task
#define no_init __no_init

#ifndef _CLI
#define_CLI()__disable_interrupt() //清总中断
#endif

#ifndef disable_interrupt
#define disable_interrupt() __disable_interrupt()
#endif

#ifndef _SEI
#define_SEI()__enable_interrupt()//开总中断
#endif

#ifndef enable_interrupt
#define enable_interrupt() __enable_interrupt()
#endif

#ifndef _NOP
#define_NOP()__no_operation()//一个时钟周期的延时
#endif

#ifndef _SLEEP
#define_SLEEP()__sleep()#endif//芯片进入休眠

#ifndef _LPM
#define _LPM(ADDR) __load_program_memory(ADDR)
#endif

#ifdef __HAS_ELPM__
#ifndef _ELPM
#define _ELPM(ADDR) __extended_load_program_memory(ADDR)
#endif
#endif

#ifndef _WDR
#define_WDR()__watchdog_reset()//喂狗
#endif

#ifndef _OPC
#define _OPC(opCode) __insert_opcode(opCode)
#endif

#ifndef _EEPUT
#define_EEPUT(V,A)__EEPUT(V,A)//写EEPROM
#endif

#ifndef _EEGET
#define_EEGET(V,A)__EEGET(V,A) //读EEPROM
#endif

#endif /* __ICCAVR__ */

#endif /* __COMP_A90_H */



关键词:IARAVR头文

评论


技术专区

关闭