Macro definitions for the Kinetis Bit Manipulation Engine (BME) More...

Detailed Description

Macro definitions for the Kinetis Bit Manipulation Engine (BME)

Author
Joakim NohlgÄrd joaki.nosp@m.m.no.nosp@m.hlgar.nosp@m.d@ei.nosp@m.stec..nosp@m.se

Definition in file bme.h.

#include <stdint.h>
+ Include dependency graph for bme.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define BITBAND_FUNCTIONS_PROVIDED   1
 Tell bit.h that we provide CPU specific bit manipulation functions.
 
#define BME_AND_MASK   (1 << 26)
 AND decoration bitmask.
 
#define BME_OR_MASK   (1 << 27)
 OR decoration bitmask.
 
#define BME_XOR_MASK   (3 << 26)
 XOR decoration bitmask.
 
#define BME_LAC1_MASK(BIT)   ((1 << 27) | ((BIT) << 21))
 Load-and-clear 1 bit.
 
#define BME_LAS1_MASK(BIT)   ((3 << 26) | ((BIT) << 21))
 Load-and-set 1 bit.
 
#define BME_BF_MASK(bit, width)   ((1 << 28) | ((bit) << 23) | (((width) - 1 ) << 19))
 Bit field extraction bitmask. More...
 

Functions

static volatile void * bme_bf_addr (volatile void *ptr, uintptr_t bit, uintptr_t width)
 Bit field address macro. More...
 
static volatile uint32_t * bme_bitfield32 (volatile uint32_t *ptr, uint8_t bit, uint8_t width)
 Access a bitfield (32 bit load/store) More...
 
static volatile uint16_t * bme_bitfield16 (volatile uint16_t *ptr, uint8_t bit, uint8_t width)
 Access a bitfield (16 bit load/store) More...
 
static volatile uint8_t * bme_bitfield8 (volatile uint8_t *ptr, uint8_t bit, uint8_t width)
 Access a bitfield (8 bit load/store) More...
 
static void bit_set32 (volatile uint32_t *ptr, uint8_t bit)
 Set a single bit in the 32 bit word pointed to by ptr. More...
 
static void bit_set16 (volatile uint16_t *ptr, uint8_t bit)
 Set a single bit in the 16 bit word pointed to by ptr. More...
 
static void bit_set8 (volatile uint8_t *ptr, uint8_t bit)
 Set a single bit in the 8 bit byte pointed to by ptr. More...
 
static void bit_clear32 (volatile uint32_t *ptr, uint8_t bit)
 Clear a single bit in the 32 bit word pointed to by ptr. More...
 
static void bit_clear16 (volatile uint16_t *ptr, uint8_t bit)
 Clear a single bit in the 16 bit word pointed to by ptr. More...
 
static void bit_clear8 (volatile uint8_t *ptr, uint8_t bit)
 Clear a single bit in the 8 bit byte pointed to by ptr. More...