void timenow (int modo) { int sec,min,hour; sec=read_sec(); min=read_min(); hour=read_hour(); if (modo==0) { itoa(hour,16); orario[0]=stringa[0]; orario[1]=stringa[1]; orario[2]=':'; itoa(min,16); orario[3]=stringa[0]; orario[4]=stringa[1]; orario[5]=':'; itoa(sec,16); orario[6]=stringa[0]; orario[7]=stringa[1]; orario[8]='\0'; } if (modo==1) { itoa(hour,16); orario[0]=stringa[0]; orario[1]=stringa[1]; orario[2]='.'; itoa(min,16); orario[3]=stringa[0]; orario[4]=stringa[1]; orario[5]='\0'; } }
void input_ora (void) { ora_in=read_hour(); minuto_in=read_min(); printf ("%s \r\n"," "); printf ("Ora (HH): (%02X) ",ora_in);scanf ("%X",&ora_in); printf ("Minuti (mm): (%02X) ",minuto_in);scanf ("%X",&minuto_in); }
uint8_t is_time_to_report(void) { uint8_t i; if(is_hour_flag()) { uint8_t start, interval, hour; start = upload_time_table[rtu_param.upload_period][0]; interval = upload_time_table[rtu_param.upload_period][1]; hour = read_hour(); for(i=0; i<24; i+=interval) { if((start+i)%24 == hour) { tim15_disable(); //平安报时间到时停止每隔5分钟上传数据 return 1; } } } return 0; }
int main (void) { if (i2c_open()<0) { printf("Apertura del bus I2C fallita\n"); return 1; } ds1307_init(); input_data(); set_data(giorno_in,mese_in,anno_in); printf("Data sul DS1307: %d/%d/%d\r\n",read_day(),read_month(),read_year()); input_ora(); set_ora(ora_in,minuto_in); while (1){ printf("Data sul DS1307: %02X/%02X/%02X\r\n", read_day(), read_month(), read_year()); printf("Ora sul DS1307: %02X:%02X:%02X\r\n",read_hour(),read_min(),read_sec()); sleep(10); } return 1; }
void sk_menu_1_1(){ char valore[5]; // int intervalli[6]; // leggi rtc y_pos(0,0); lcd_printf("<< CAMBIA DATA"); y_pos(2,2); //lcd_printf("15:00 25/04/07"); //ora valore[0]=read_hour(); lcd_printf("%02d:",valore[0]); valore[1]=read_min(); lcd_printf("%02d ",valore[1]); //data valore[2]=read_day(); lcd_printf("%02d",valore[2]); valore[3]=read_month(); lcd_printf("/%02d",valore[3]); valore[4]=read_year(); lcd_printf("/%02d",valore[4]); // x,y,partenza,min,max valore[0]=inc_cifra(2,2,valore[0],0,24);// hh valore[1]=inc_cifra(5,2,valore[1],0,59);// mm set_ora(valore[0],valore[1]); valore[2]=inc_cifra(9,2,valore[2],0,31);// gg valore[3]=inc_cifra(12,2,valore[3],0,12);// m valore[4]=inc_cifra(15,2,valore[4],7,20);// aa // verifica data x gg bisestili e gg de mesi set_data(valore[2],valore[3],valore[4]); //se ok salva il valore y_pos(4,3); if (true) lcd_printf("DATA SALVATA"); else lcd_printf("DATA ERRATA"); msDelay(2000); }
void setsystemdate (void) { unsigned char giorno,mese,anno,ore,minuti; char comando[20]="date "; giorno=read_day(); mese=read_month(); anno=read_year(); ore=read_hour(); minuti=read_min(); itoa(mese,16); comando[5]=stringa[0]; comando[6]=stringa[1]; itoa(giorno,16); comando[7]=stringa[0]; comando[8]=stringa[1]; itoa(ore,16); comando[9]=stringa[0]; comando[10]=stringa[1]; itoa(minuti,16); comando[11]=stringa[0]; comando[12]=stringa[1]; itoa(anno,16); comando[13]='2'; comando[14]='0'; comando[15]=stringa[0]; comando[16]=stringa[1]; comando[17]='\0'; system(comando); }