Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ISR(TIMER0_OVF_vect) {
- counter0_ovf += 0xff;
- }
- ISR(TIMER1_CAPT_vect) {
- if(!((measureFlag >> MEASURE_INPROCESS) & 1) && !((measureFlag >> MEASURE_DONE) & 1)) {
- cli();
- TC0_START;
- TC1_START;
- measureFlag |= 1 << MEASURE_INPROCESS;
- sei();
- _delay_ms(1000);
- }
- else if(!((measureFlag >> MEASURE_DONE) & 1)) {
- cli();
- TC0_STOP;
- TC1_STOP;
- lenghtOfMeasurement = timer1_ovf + TCNT1;
- numberOfImpulses = counter0_ovf + TCNT0;
- timer1_ovf = counter0_ovf = 0;
- measureFlag |= 1 << MEASURE_DONE;
- measureFlag &= ~(1 << MEASURE_INPROCESS);
- sei();
- }
- }
- ISR(TIMER1_OVF_vect){
- timer1_ovf += 0xffff;
- }
- ISR(TIMER2_COMPA_vect){
- if((measureFlag >> MEASURE_DONE) & 1) {
- char buffer[5];
- lcd_clrscr();
- lcd_home();
- itoa(numberOfImpulses, buffer, 10);
- lcd_puts(buffer);
- itoa(lenghtOfMeasurement, buffer, 10);
- lcd_goto(0,1);
- lcd_puts(buffer);
- measureFlag &= ~(1 << MEASURE_DONE);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement