📄 macro_8bit_mcu.h
字号:
////////////////////////////////////////////////////////////////////////////////
// Copyright(C) Gniy.Liu RHOSON, Crop. 2007-2008
// Filename: macro_8bit_mcu.h
// Description: Macros function in common use.
////////////////////////////////////////////////////////////////////////////////
#ifndef _MACRO_8BIT_MCU_H
#define _MACRO_8BIT_MCU_H
#define SET_BIT(var,bitPos) ( var|=(1<<bitPos) )
#define GET_BIT(var,bitPos) ( (var&(1<<bitPos))?(1):(0) ) // ( var&(1<<bitPos) )
#define CLR_BIT(var,bitPos) ( var&=(0xff-(1<<bitPos)) )
#define COMP_BIT(var,bitPos) ( var^=(1<<bitPos))
#define COMPOSE_2CHARS(high_char,low_char) (unsigned int)((high_char<<8)+low_char)
#define HIBYTE(x) (((unsigned int)(x))>>8)
#define LOBYTE(x) (((unsigned int)(x))&0xff)
#define MAX_VALUE(a,b) (((a) > (b)) ? (a) : (b))
#define MIN_VALUE(a,b) (((a) < (b)) ? (a) : (b))
/*
read pin status to store in bit
_TIM:a U08 variable.
_TOL:a U08 const. Max value 0x7f,Min value 0x10
_BIT:a bit variable.
_PIN:pin which you want to read.
*/
#define RD_PIN_STAT(_TIM, _TOL, _BIT, _PIN)\
if(_PIN)\
{\
if(_TIM<0x80) _TIM=0x80;\
else if(_TIM<(0x80+_TOL)) ++_TIM;\
if(_TIM>=(0x80+_TOL)) _BIT=1;\
}\
else\
{\
if(_TIM>0x80) _TIM=0x80;\
else if(_TIM>(0x80-_TOL)) --_TIM;\
if(_TIM<=(0x80-_TOL)) _BIT=0;\
}
#endif // #ifndef _MACRO_8BIT_MCU_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -