STC15W408AS library 0.18.0
Loading...
Searching...
No Matches
bits.h
1#ifndef STC15_BITSH
2#define STC15_BITSH
3/***************************************************************************************************
4 Macros for Bit Manipulation
5 ****************************************************************************************************/
6
7#define bit_shift_right(val, shift_size) (val >> shift_size)
8#define bit_shift_left(val, shift_size) (val << shift_size)
9#define bit_mask(bit_pos) bit_shift_left(1, bit_pos)
10
11#define bit_set(val, bit_mask_val) (val |= bit_mask_val)
12#define bit_clr(val, bit_mask_val) (val &= ~bit_mask_val)
13#define bit_tgl(val, bit_mask_val) (val ^= bit_mask_val)
14
15#define get_reg(val, bit_mask_val) (val & bit_mask_val)
16
17#define test_if_bit_set(val, bit_mask_val) (((val) & (bit_mask_val)) == bit_mask_val)
18#define test_if_bit_cleared(val, bit_mask_val) (((val) & (bit_mask_val)) == 0)
19
20/**************************************************************************************************/
21
22
23/***************************************************************************************************
24 Definition of common Bit-Masks
25 ***************************************************************************************************/
26
27#define SBIT0 0x01
28#define SBIT1 0x02
29#define SBIT2 0x04
30#define SBIT3 0x08
31#define SBIT4 0x10
32#define SBIT5 0x20
33#define SBIT6 0x40
34#define SBIT7 0x80
35
36/**************************************************************************************************/
37#endif