📄 bitfield.h
字号:
#ifndef __BITFIELD_H__
#define __BITFIELD_H__
#define GET_BITFIELD(addr) (*((volatile bitfield *)(addr)))
#define __GET_BIT(addr,b) GET_BITFIELD(addr).bit##b
#define GET_BIT(addr,b) __GET_BIT(addr,b)
#define GET_Bitfield(addr) (*(( bitfield *)(addr)))
#define __GET_Bit(addr,b) GET_Bitfield(addr).bit##b
#define GET_Bit(addr,b) __GET_Bit(addr,b)
#ifdef __IAR_SYSTEMS_ICC__
#define GET_IO_BITFIELD(addr) (*(( __io volatile bitfield *)(addr)))
#define __GET_IO_BIT(addr,b) GET_IO_BITFIELD(addr).bit##b
#define GET_IO_BIT(addr,b) __GET_IO_BIT(addr,b)
#else
#define GET_IO_BITFIELD(addr) GET_BITFIELD(addr)
#define GET_IO_BIT(addr,b) GET_BIT(addr,b)
#endif
typedef struct {
unsigned char bit0:1;
unsigned char bit1:1;
unsigned char bit2:1;
unsigned char bit3:1;
unsigned char bit4:1;
unsigned char bit5:1;
unsigned char bit6:1;
unsigned char bit7:1;
}bitfield;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -