|
void DS1302_WriteByte(uint8_t addr)
{
uint8_t i=0;
for(i=0;i<8;i++)
{
if(addr&0x01)
{
DATA_H;
}
else
{
DATA_L;
}
addr>>=1;
SCLK_H;
SCLK_L;
}
}
uint8_t DS1302_ReadByte()
{
uint8_t i=0,date=0;
for(i=0;i<8;i++)
{
date >>=1;
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3))
{
date |=0x80;
}
SCLK_H;
SCLK_L;
}
return date;
}
void DS1302_BURST_Read(uint8_t *dat)
{
uint8_t i=0;
CE_H;
DS1302_DAT_GPIO_Out();
DS1302_WriteByte(0x8f);
DS1302_DAT_GPIO_IN();
for(i=0;i<8;i++)
{
dat=DS1302_ReadByte();
}
CE_L;
} |
|