void TestDS1302(void) { u8 i,tt[7],dd1[30],dd2[30]; DS1302_Configuration(); InitClock(); tt[0] = 0x13; tt[1] = 0x05; tt[2] = 0x23; tt[3] = 0x09; tt[4] = 0x25; tt[5] = 0x00; WriteDS1302Clock(tt); for(i=0;i<30;i++) { dd1[i] = i; dd2[i] = 0; } WriteDSRam(dd1,0,30); ReadDSRam(dd2,0,30); while(1) { ReadDS1302Clock(tt); } }
static rt_err_t rt_rtc_control(rt_device_t dev, rt_uint8_t cmd, void *args) { RT_ASSERT(dev != RT_NULL); switch (cmd) { case RT_DEVICE_CTRL_RTC_GET_TIME: ReadDS1302Clock(args); break; case RT_DEVICE_CTRL_RTC_SET_TIME: WriteDS1302Clock(args); break; } return RT_EOK; }
void ReadDS1302ClockASCII(u8 *timerASCII) { u8 timerBCD[6] = {0}; ReadDS1302Clock(timerBCD); timerBCDtoASCII(timerBCD,timerASCII); }