SDカードの「サイズ」を読み取ろうとしています。私が持っているサンプル例には、次のコード行があります。
unsigned char xdata *pchar; // Pointer to external mem space for FLASH Read function;
pchar += 9; // Size indicator is in the 9th byte of CSD (Card specific data) register;
// Extract size indicator bits;
size = (unsigned int)((((*pchar) & 0x03) << 1) | (((*(pchar+1)) & 0x80) >> 7));
インジケータ ビットが抽出されている上記の行で実際に何が行われているのか理解できません。誰かがこれを理解するのを手伝ってくれますか?