//Have to be called Wire.begin before create the clock Clock::Clock() { DS3231_init(DS3231_INTCN); delay(50);//Wait to be prepared the clock this->update(); if (this->date.year == 2165) { this->date.hour = 12; this->date.min = 0; this->date.sec = 0; this->date.mday = 1; this->date.mon = 1; this->date.year = 2016; this->setDate(&this->date); } }
//------------------------------------------------------------------------------ void main(void) { unsigned int16 i; unsigned char tmpbcd; init_prog(); delay_ms (100); DS3231_init(); lcd_init (); //clear_usart_receiver(); EXT_INT_EDGE(2,L_TO_H); disable_interrupts(INT_EXT2); enable_interrupts(INT_TIMER0); enable_interrupts(INT_RDA); IOpin.buzzer=1; for(i=0;i<16;i++) RFIDmsg[i]=' '; lcd_gotoxy(4,1); printf(lcd_putc,"ELFATEK"); for(i=0;i<100;i++) { IOpin.buzzer=0; delay_us(500); IOpin.buzzer=1; delay_us(500); } //printf(lcd_putc,"ALGIFarm"); delay_ms(1000); lcd_putc('\f'); //lcd_gotoxy(1,1); //printf(lcd_putc,"ID:"); //setTime( hr,min,s,am_pm,hr_format); //setDate(dy, dt, mt, yr); txmode=1; get_date_time(); show_parameters(); set_CHID(); init_nrf24(); enable_interrupts(GLOBAL); for(;;) { //lcd_backlight=ON; if(msgrdy) { lcd_backlight=ON; IOpin.errorLED=1; set_CHID(); init_nrf24(); for(i=0;i<100;i++) { IOpin.buzzer=0; delay_us(500); IOpin.buzzer=1; delay_us(500); } lcd_putc('\f'); lcd_gotoxy(1,1); printf(lcd_putc,"ID:"); for(i=0;i<16;i++) { lcd_gotoxy(1+i,2); printf(lcd_putc,"%c",RFIDmsg[i]); } IOpin.errorLED=0; delay_ms(1000); lcd_gotoxy(1,2); lcd_putc('\f'); get_date_time(); for(i=0;i<10;i++) RFIDmsg_[i]=RFIDmsg[i]-48; TXBuffer[0]=0; TXBuffer[1]=hr; TXBuffer[2]=min; TXBuffer[3]=dt; TXBuffer[4]=mt; TXBuffer[5]=yr; TXBuffer[6]=RFIDmsg_[0];// country code TXBuffer[7]=RFIDmsg_[1];// country code TXBuffer[8]=RFIDmsg_[2];// country code TXBUffer[9]=RFIDmsg_[4]; TXBuffer[10]=RFIDmsg_[5]; TXBuffer[11]=RFIDmsg_[6]; TXBuffer[12]=RFIDmsg_[7]; TXBuffer[13]=RFIDmsg_[8]; TXBuffer[15]=RFIDmsg_[9]; lcd_putc('\f'); lcd_gotoxy(1,2); printf(lcd_putc,"%d",RFIDmsg_[9]); /* for(i=0;i<10;i++) { lcd_gotoxy(1+i,2); if(i!=3) printf(lcd_putc,"%d",RFIDmsg_[i]); else printf(lcd_putc,"%c",RFIDmsg[i]); }*/ delay_ms(2000); /* tmpbcd=(RFIDmsg[4]<<4)||RFIDmsg[5]; TXBuffer[9]=tmpbcd;//ID tmpbcd=(RFIDmsg[6]<<4)||RFIDmsg[7]; TXBuffer[10]=tmpbcd; tmpbcd=(RFIDmsg[8]<<4)||RFIDmsg[9]; TXBuffer[11]=tmpbcd; tmpbcd=(RFIDmsg[10]<<4)||RFIDmsg[11]; TXBuffer[12]=tmpbcd; tmpbcd=(RFIDmsg[12]<<4)||RFIDmsg[13]; TXBuffer[13]=tmpbcd; tmpbcd=(RFIDmsg[14]<<4)||RFIDmsg[15]; TXBuffer[14]=tmpbcd; */ transmit_data(); msgrdy=0; } get_date_time(); if(s!=sec) { show_parameters(); delay_ms(2000); } lcd_backlight=OFF; /* for(i=0;i<PAYLOADSIZE;i++) TXBuffer[i]=i; transmit_data(); */ } }