如题,举例来说:
/* Send SectorAddr high nibble address byte */
SPI_FLASH_SendByte((SectorAddr & 0xFF0000) >> 16);
/* Send SectorAddr medium nibble address byte */
SPI_FLASH_SendByte((SectorAddr & 0xFF00) >> 8);
/* Send SectorAddr low nibble address byte */
SPI_FLASH_SendByte(SectorAddr & 0xFF);
从寄存器读取数据时为什么先与1与运算,再读取其值呢?比如取最高的字节,为什么不直接右移16位,而要先和0xFF0000与一下,这样做的目的是什么,有什么好处吗?希望高手指点一下,谢谢。 |