51单片机读写函数

通过移位,一位一位把数据写进寄存器中

uchar NRF24SPI_Send_Byte(uchar dat)
{
  	uchar i;
	for (i = 0; i < 8; i++) //output 8-bit
	{
		//写入1位数据
		MOSI=(dat & 0x80);	//output 'uchar', MSB to MOSI
		dat<<= 1;           // shift next bit into MSB..
		
		//读取1位数据
		SCK = 1;                   	// Set SCK high..
		if (MISO){
		 	dat|= 1;
		}else{             			// capture current MISO bit
		 	dat &= 0xFE;
		}
		SCK = 0;                    // ..then set SCK low again
	}
	return(dat);                	// return read uchar
}
 

你可能感兴趣的:(单片机外设)