Ian Bolfarini
/
APS_SO
APS_SO
main.cpp
- Committer:
- ianwillianb
- Date:
- 2017-10-28
- Revision:
- 1:3da12598c635
- Parent:
- 0:f603fa86c646
- Child:
- 2:27a7a42b2bae
File content as of revision 1:3da12598c635:
#include "mbed.h" #include "Rtc_Ds1307.h" //Inicialização do Led RGB DigitalOut led(LED_BLUE); //Inicialização do RTC Rtc_Ds1307 rtc(D14,D15); //Estrutura responsável por armazenar os dados do RTC Rtc_Ds1307::Time_rtc alarm_time ; //Estabelece comunicação serial para DEBUG Serial gSerial(USBTX, USBRX); //Ajuste da hora atraves da interface serial void set_time_serial() { int hora, min, seg, dia, mes, ano, opt; gSerial.printf("\n1-Ajuste de Hora, 2-Ajuste de Data, 3-Ajuste de Data/Hora: "); gSerial.scanf("%d",&opt); /* if(opt >=1 && opt <=3){ } */ if(opt == 1 || opt ==3 ) { gSerial.printf("\nInsira a hora(HH MM SS): "); gSerial.scanf("%d %d %d", &hora, &min, &seg); if( (hora < 24 && hora>=0) && (min>=0 && min <60) && (seg>=0 && seg <60)) { rtc.getTime(alarm_time); alarm_time.hour = hora; alarm_time.min = min; alarm_time.sec = seg; //alarm_time.date = 28; //alarm_time.mon = 10; //alarm_time.year = 2017; rtc.setTime(alarm_time, true, false); rtc.getTime(alarm_time); gSerial.printf("\nHora Ajustada: %2d:%02d:%02d \n",alarm_time.hour,alarm_time.min,alarm_time.sec); } else gSerial.printf("Entrada Incorreta.\n"); } if(opt==2 || opt ==3) { gSerial.printf("Insira a data(DIA MES ANO): "); gSerial.scanf("%d %d %d", &dia, &mes, &ano); if((dia < 32 && dia >0 && mes<13 && mes>0 && ano>2000) && !(mes == 2 && dia >=29 ) && !((mes == 4 || mes == 6 || mes == 9 || mes == 11) && dia >30)) { rtc.getTime(alarm_time); alarm_time.date = dia; alarm_time.mon = mes; alarm_time.year = ano; rtc.setTime(alarm_time, true, false); rtc.getTime(alarm_time); gSerial.printf("\nData Ajustada: %2d/%02d/%d \n",alarm_time.date,alarm_time.mon,alarm_time.year); } else gSerial.printf("Entrada Incorreta.\n"); } else gSerial.printf("Opcao Invalida!.\n"); } void ajus_data_hora() { char hadj; gSerial.printf("Deseja ajustar a hora? - Caso sim digite s: "); gSerial.scanf("%c",&hadj); if(hadj=='s') { set_time_serial(); } } int main() { char hadj; //opcao do ajuste do rtc gSerial.printf("Deseja ajustar a hora? - Caso sim digite s: "); gSerial.scanf("%c",&hadj); if(hadj=='s') //caso seja digitado s exibe as opcoes de ajuste { set_time_serial(); } while (true) { rtc.getTime(alarm_time); led = !led; gSerial.printf("\r"); gSerial.printf("Hora: %2d:%02d:%02d \n",alarm_time.hour,alarm_time.min,alarm_time.sec); wait(1); } }