unsigned char Read1302(void)
{
unsigned char i,dat;
delaynus(2); //稍微等待,使硬件做好準備
for(i=0;i<8;i++) //連續(xù)讀8個二進制位數(shù)據(jù)
{ dat>>=1; 為什么這里預(yù)讀數(shù)據(jù)先向右移
if(DATA==1) //如果讀出的數(shù)據(jù)是1
dat|=0x80; //將1取出,寫在dat的最高位
SCLK=1; //將SCLK置于高電平,為下降沿讀出
delaynus(2); //稍微等待
SCLK=0; //拉低SCLK,形成脈沖下降沿
delaynus(2); //稍微等待
}
return dat; //將讀出的數(shù)據(jù)返回
|