编写高效单片机代码笔记

#define MAX( X y ) ( ( (x) > (y)) ? (x) * (y) )
#define MIN( xr y ) ( ((x) < (y)) ? (x) w (y) }
// 得到一个 field 在结构体 (struct) 中的偏移量
#define FPOS{ type, field } ( (dword) &(( type 0)-> field )
6,得到一个结构体中 field 所占用的宇节数
#define FSIZ( type, field } sizeof( ((type *) 0)->field )
7, 按照 LSB 格式把两个字节转化为一个 Word
#define FLIPW( ray ) ( (((word) (ray)[0]) * 256} + (ray)[1] )
8ÿ 按照 LSB 格式把一个 Word 转化为两个字节
#define FLOPW( ray, val ) \
(ray)[0] = ((val) / 256); \
(ray)[1] = ({val} & OxFF)

10, 得到一个字的高位和低位字节
#define WORD LO(xxx) ((byte) ((word)(xxx) & 255))
#define WORD H工 (xxx) ((byte) ((word)(xxx) >> 8))
//转换为大写
#define UPCASE( c ) ( {(c) >=Ta' && (c)<=,z,) ? {(c) - 0x20}
(c) )

//16, 返回数组元素的个数
#define ARR SIZE( a ) ( sizeof( (a) ) / sizeof( (a[0]) ) )

猜你喜欢

转载自blog.csdn.net/shenlong1356/article/details/80300798