~ruther/uni-mam-arm

ref: 327c9f42f5485a6520d317dc6bd1c8acd240e9bc uni-mam-arm/arm03/src/registers.c -rw-r--r-- 1.1 KiB
327c9f42 — Rutherther Init arm01, arm02, arm03 5 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/* #include <stdint.h> */

/* void reg_write_bits_pos(volatile uint32_t *reg, uint32_t data, uint8_t pos, uint32_t mask) { */
/*   *reg &= ~(mask << pos); */
/*   *reg |= (data & mask) << pos; */
/* } */

/* void reg_write_bits(volatile uint32_t *reg, uint32_t data, uint32_t mask) { */
/*   *reg &= ~(mask); */
/*   *reg |= (data & mask); */
/* } */

/* void reg_set_bits_pos(volatile uint32_t *reg, uint8_t pos, uint32_t mask) { */
/*   *reg |= mask << pos; */
/* } */

/* void reg_set_bits(volatile uint32_t *reg, uint32_t mask) { */
/*   *reg |= mask; */
/* } */

/* void reg_toggle_bits_pos(volatile uint32_t *reg, uint8_t pos, uint32_t mask) { */
/*   *reg ^= (mask << pos); */
/* } */

/* void reg_toggle_bits(volatile uint32_t *reg, uint32_t mask) { */
/*   *reg ^= mask; */
/* } */

/* uint32_t reg_read_bits_pos(volatile uint32_t *reg, uint8_t pos, uint32_t mask) { */
/*   return ((*reg) >> pos) & mask; */
/* } */

/* void reg_clear_bits_pos(volatile uint32_t *reg, uint8_t pos, uint32_t mask) { */
/*   *reg ^= ~(mask << pos); */
/* } */

/* void reg_clear_bits(volatile uint32_t *reg, uint8_t pos, uint32_t mask) { */
/*   *reg &= ~mask; */
/* } */
Do not follow this link