void DS1302SendByte(u8 byte) { u8 i; for(i=0x01;i;i<<=1) { if(byte&i) DS1302_OUT_H(); else DS1302_OUT_L(); DS1302_CLK_H(); DelayNOP(80); //加延时 DS1302_CLK_L(); NOP();NOP(); //加延时 } }
void DS1302SendByte(uint8_t byte) { uint8_t i; DS1302_CLK_L(); //拉低SCLK,为脉冲上升沿写入数据做好准备 delay_nus(2); //稍微等待,使硬件做好准备 for(i=0x01;i;i<<=1) { if(byte&i) DS1302_OUT_H(); else DS1302_OUT_L(); delay_nus(2); DS1302_CLK_H(); delay_nus(2); DS1302_CLK_L(); } }