SAMV71 Xplained Ultra Software Package 1.4

SD/MMC bits/bytes fields access
[SD/MMC Spec. definitions]

Collaboration diagram for SD/MMC bits/bytes fields access:

Defines

#define SD_BITS32(pDw, nbits, ibit, bits)   ( (((uint32_t*)(pDw))[(nbits)/32-(ibit)/32-1] >> ((ibit)%32)) & ((uint32_t)(1ul << (bits)) - 1 ) )
#define SD_BITS8(pB, nbits, ibit, bits)   ( (((uint8_t*)(pB))[(nbits)/8-(ibit)/8-1] >> ((ibit)%8)) & ((1 << (bits)) - 1) )
#define SD_U8(pD, nBytes, iByte)   ( ((uint8_t*)(pD))[(iByte)] )
#define SD_U16(pD, nBytes, iByte)
#define SD_U32(pD, nBytes, iByte)

Define Documentation

#define SD_BITS32 (   pDw,
  nbits,
  ibit,
  bits 
)    ( (((uint32_t*)(pDw))[(nbits)/32-(ibit)/32-1] >> ((ibit)%32)) & ((uint32_t)(1ul << (bits)) - 1 ) )

Get bits from a 32-b pointed data (total n bits)

Definition at line 118 of file sdmmc.h.

#define SD_BITS8 (   pB,
  nbits,
  ibit,
  bits 
)    ( (((uint8_t*)(pB))[(nbits)/8-(ibit)/8-1] >> ((ibit)%8)) & ((1 << (bits)) - 1) )

Get bits from a 8-b pointed data (total n bits)

Definition at line 121 of file sdmmc.h.

#define SD_U16 (   pD,
  nBytes,
  iByte 
)
Value:
( (((uint8_t*)(pD))[(iByte)] << 0) +\
      (((uint8_t*)(pD))[(iByte) + 1] << 8) )

Get u16 from data area

Definition at line 126 of file sdmmc.h.

#define SD_U32 (   pD,
  nBytes,
  iByte 
)
Value:
( (((uint8_t*)(pD))[(iByte) ] <<  0) +\
      (((uint8_t*)(pD))[(iByte) + 1] <<  8) +\
      (((uint8_t*)(pD))[(iByte) + 2] << 16) +\
      (((uint8_t*)(pD))[(iByte) + 3] << 24) )

Get u32 from data area

Definition at line 130 of file sdmmc.h.

#define SD_U8 (   pD,
  nBytes,
  iByte 
)    ( ((uint8_t*)(pD))[(iByte)] )

Get u8 from byte pointed data area

Definition at line 124 of file sdmmc.h.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines