STC15W408AS library
0.18.0
Loading...
Searching...
No Matches
include
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
Generated by
1.9.8