//函数名:SpisendByte(INT8U dat)
//输入:发送的数据
//输出:无
//功能描述:SPI发送一个字节
//*****************************************************************************************
INT8U SpiTxRxByte(INT8U dat)
{
INT8U i,temp;
temp = 0;
SCK0;//SCK = 0
for(i=0; i<8; i++)
{
if(dat & 0x80)
{
MOSI1;//MOSI = 1
}
else MOSI0;//MOSI = 0
dat <<= 1;
SCK1; //SCK = 1
yanshi(1);
temp <<= 1;
MISO;
if((P3IN & BIT3)==BIT3/*MISO*/)temp++;
SCK0;//SCK = 0
yanshi(1);
}
return temp;
}
这个程序里的temp起一个什么作用呢?还有就是为什么每次发送完一位以后要有 MISO;
if((P3IN & BIT3)==BIT3/*MISO*/)temp++; 这个语句? |