This commit is contained in:
wolfgang
2013-01-19 18:41:41 +01:00
parent 205eb2dc3a
commit 6161a25ddf

View File

@ -40,16 +40,27 @@ typedef struct clock_s {
uint8_t year;
} clock_t;
typedef struct opTime_s {
uint8_t second;
uint8_t minute;
uint16_t hour;
} opTime_t;
receivedData_t rd;
volatile clock_t clock;
volatile opTime_t opTime;
volatile uint8_t tick;
volatile uint16_t captValue = 0;
volatile uint16_t gapValue = 0;
volatile uint8_t valid = 0;
ISR(TIMER2_OVF_vect) {
clock.second++;
if (valid != 2) {
if (clock.second >= 60) {
clock.second = 0;
clock.minute++;
@ -61,6 +72,22 @@ ISR(TIMER2_OVF_vect) {
if (clock.hour >= 24) {
clock.hour = 0;
}
}
opTime.second++;
if (opTime.second >= 60) {
opTime.second = 0;
opTime.minute++;
}
if (opTime.minute >= 60) {
opTime.minute = 0;
opTime.hour++;
}
if (opTime.hour >= 24) {
opTime.hour = 0;
}
}
ISR(INT0_vect) {
@ -82,6 +109,12 @@ int main() {
clock.minute = 0;
clock.second = 0;
opTime.hour = 0;
opTime.minute = 0;
opTime.second = 0;
TCCR2 = 0b00000101;
ASSR |= (1 << AS2);
@ -103,7 +136,6 @@ int main() {
printf("Hello world!\n");
uint8_t valid = 0;
uint8_t bit = 0;
uint8_t state = 0;
@ -413,7 +445,8 @@ int main() {
break;
}
printf("VALID %02d:%02d:%02d %02u.%02u.%02u %u %u %u %u %u %u \n",
printf("OP %d:%d:%d VALID %02d:%02d:%02d %02u.%02u.%02u %u %u %u %u %u %u \n",
opTime.hour, opTime.minute, opTime.second,
clock.hour, clock.minute, clock.second,
clock.day, clock.month, clock.year, clock.weekday,
valid, state, bit, pulse, gap);
@ -421,7 +454,8 @@ int main() {
state++;
} else {
printf("INVALID %02d:%02d:%02d %02u.%02u.%02u %u %u %u %u \n",
printf("OP %d:%d:%d INVALID %02d:%02d:%02d %02u.%02u.%02u %u %u %u %u \n",
opTime.hour, opTime.minute, opTime.second,
clock.hour, clock.minute, clock.second,
clock.day, clock.month, clock.year, clock.weekday,
bit, pulse, gap);