📄 ina90.h
字号:
/* - ina90.h -
Intrinsic functions for ICCA90
Version: 1.05 [IANP]
*/
#ifndef __INA90_INCLUDED
#define __INA90_INCLUDED
#if (((__TID__ >> 8) & 0x7F) != 90)
#error This file should only be compiled by icca90
#endif
#if __TID__ & 0x8000
#pragma function=intrinsic(0)
#endif
void _SEI(void);
void _CLI(void);
void _NOP(void);
void _SLEEP(void);
unsigned char _LPM(unsigned short val);
#if (((__TID__ >> 4) & 0x0F) >= 2)
unsigned char _ELPM(unsigned long val);
#endif
void _WDR(void);
void _OPC(unsigned short op);
/* Compatibility macros: */
#ifndef disable_interrupt
#define disable_interrupt() _CLI()
#endif
#ifndef __disable_interrupt
#define __disable_interrupt() _CLI()
#endif
#ifndef enable_interrupt
#define enable_interrupt() _SEI()
#endif
#ifndef __enable_interrupt
#define __enable_interrupt() _SEI()
#endif
#ifndef __no_operation
#define __no_operation() _NOP()
#endif
#ifndef __sleep
#define __sleep() _SLEEP()
#endif
#ifndef __load_program_memory
#define __load_program_memory(SHORT) _LPM(SHORT)
#endif
#if (((__TID__ >> 4) & 0x0F) >= 2)
#ifndef __extended_load_program_memory
#define __extended_load_program_memory(LONG) _ELPM(LONG)
#endif
#endif
#ifndef __watchdog_reset
#define __watchdog_reset() _WDR()
#endif
#if __TID__ & 0x8000
#pragma function=default
#endif
/* Include a file appropriate for the processor used,
* that defines EECR, EEAR and EEDR (e.g. io2312.h). */
#define _EEPUT(ADR,VAL) {while (EECR & 0x02); \
EEAR = (ADR); EEDR = (VAL); EECR = 0x04; EECR = 0x02;}
#define _EEGET(VAR, ADR) {while (EECR & 0x02); \
EEAR = (ADR); EECR = 0x01; (VAR) = EEDR;}
/* PORT is a sfrb defined variable */
#define input(PORT) (PORT)
#define output(PORT,VAL) ((PORT)=(VAL))
#define input_block_dec(PORT,ADDRESS,COUNT)\
{ \
unsigned char i;\
unsigned char *addr=(ADDRESS);\
for(i=0;i<(COUNT);i++)\
*addr--=(PORT);\
}
#define input_block_inc(PORT,ADDRESS,COUNT)\
{ \
unsigned char i;\
unsigned char *addr=(ADDRESS);\
for(i=0;i<(COUNT);i++)\
*addr++=(PORT);\
}
#define output_block_dec(PORT,ADDRESS,COUNT)\
{ \
unsigned char i;\
unsigned char *addr=(ADDRESS);\
for(i=0;i<(COUNT);i++)\
(PORT)=*addr--;\
}
#define output_block_inc(PORT,ADDRESS,COUNT)\
{ \
unsigned char i;\
unsigned char *addr=(ADDRESS);\
for(i=0;i<(COUNT);i++)\
(PORT)=*addr++;\
}
#endif /* __INA90_INCLUDED */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -