📄 bit.h.bak
字号:
//#include "lc871f.h"
#define uchar unsigned char
#define uint unsigned int
#define clrwdt() asm("clrwdt")
#define bit_test(var, bit) ((var) & (1 <<(bit)))
#define bittest(var, bit) ((var) & (1 <<(bit)))
#define setbit(var, bit) ((var) |= (1 << (bit)))
#define clrbit(var, bit) ((var) &= ~(1 << (bit)))
/*
static volatile unsigned char myvar @ 0x25;
*/
struct
{
uchar byte0;
uchar byte1;
}svarint;
/*
struct
{
unsigned b0:1, b1:1, b2:1, b3:1, b4:1, b5:1, b6:1, b7:1;} bits;// bits;
*/
/*
#define mybit0 (((bits *)&myvar)->b0) //取myvar的地址(&myvar)强制转换成bits类型的指针
*/
/*
#define _paste(a,b) a##b //符号粘贴
#define bitof(var,num) (((bits *)&(var))->_paste(b,num))
*/
union uvar
{
unsigned char byte;
struct
{
unsigned b0:1,b1:1,b2:1,b3:1,b4:1,b5:1,b6:1,b7:1;
} ubits;
};
union uvarint
{
unsigned int uints;
struct
{
unsigned b0:1,b1:1,b2:1,b3:1,b4:1,b5:1,b6:1,b7:1,b8:1,b9:1,b10:1,b11:1,b12:1,b13:1,b14:1,b15:1;
} ubits;
struct
{
//#ifdef lc87f
unsigned char bytel;
unsigned char byteh;
//#else
//unsigned char byteh;
//unsigned char bytel;
//#endif
} ubytes;
};
/*
char a;
static union uvar myvar;
myvar.byte=0B10101010;
a=myvar.ubits.b0;
*/
struct xxxi
{
unsigned int i;
};
struct xram
{
unsigned char c;
};
union xvar
{
unsigned int xi;
unsigned char xc[2];
};
union icvar
{
unsigned int i;
unsigned char c[2];
};
#define cb 0
#define zb 2
#define dc 1
#define DCB 1
#define CB 0
#define C 0
#define ZB 2
#define RP0B 5
#define RP1B 6
#define rp0b 5
#define rp1b 6
#define IRPB 7
#define irpb 7
#define DBYTE ((unsigned char volatile *) 0)
#define DBYTE1 ((bank1 unsigned char volatile *) 0)
#define DBYTE2 ((bank2 unsigned char volatile *) 0)
#define DBYTE3 ((bank3 unsigned char volatile *) 0)
#define ie() GIE=1;
#define di() GIE=0;
#define IE() GIE=1;
#define DI() GIE=0;
#ifdef lc87f
#define nop() _nop()
#define _nop_() _nop()
#else
#define nop() asm("nop")
#define _nop_() nop()
#define _nop() nop()
#endif
#ifdef lc87f
#define CARRY bittest(PSW,7)
#define ZERO bittest(PSW,7)
#endif
union uvarlong
{
unsigned long;
struct
{
unsigned int intl;
unsigned int inth;
} uints;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -