帮我看看这个程序是什么意思
初学,很多问题不懂,请大家指教:void InitCpu(void)
{
uint8 cklf;
SPICLK = 1; // Max SPI clock
SPI_CTRL = 0x02; // SPI接到RF端
RACSN = 0;
SpiReadWrite(RRC | 0x09);
cklf = SpiReadWrite(0) | 0x04;
RACSN = 1;
RACSN = 0;
SpiReadWrite(WRC | 0x09);
SpiReadWrite(cklf);
RACSN = 1;
P0_DIR=P0_DIR&0x1F; //P0.6,P0.5,P0.7 输出
LED=0;
P0_DIR |= 0x18; // P0.3,P0.4 输入
EA = 1;
}
下面这两句是什么意思呢???知道是读取数据,但为什么要与0x09和0x04进行位或呢???读取哪个地址的数据???
SpiReadWrite(RRC | 0x09);
cklf = SpiReadWrite(0) | 0x04;
下面这两句又是什么意思???知道是写数据,但写进哪个地址呢?
SpiReadWrite(WRC | 0x09);
SpiReadWrite(cklf); 补充一个函数,免得大家看不懂
//*****************************************************************************
//函数名:uint8 SpiReadWrite(uint8 b)
//输入:发送的数据
//输出:收到的数据
//功能描述:SPI发送接收一个字节
//*****************************************************************************
uint8 SpiReadWrite(uint8 b)
{
EXIF &= ~0x20; // 清除SPI中断标致位
SPI_DATA = b;
while((EXIF & 0x20) == 0x00); //等待发送接收完成
return SPI_DATA;
}
页:
[1]