YACWC
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
|
||||
#include "interrupts.h"
|
||||
|
||||
void init_pins() {
|
||||
|
||||
// Set reed switch interrupt pin
|
||||
SET_PIN_IN(DDRD, DDD3);
|
||||
SET_PIN_LOW(PORTD, PD3);
|
||||
}
|
||||
|
||||
void set_up_reed_interrupt() {
|
||||
// Falling edge interrupt
|
||||
EICRA |= (1 << ISC11);
|
||||
EICRA &= ~(1 << ISC10);
|
||||
|
||||
// Enable INT1 interrupt
|
||||
EIMSK |= (1 << INT1);
|
||||
}
|
||||
|
||||
void set_up_minute_interrupt() {
|
||||
EICRA |= (1 << ISC01);
|
||||
EICRA &= ~(1 << ISC00);
|
||||
|
||||
// Enable INT1 interrupt
|
||||
EIMSK |= (1 << INT0);
|
||||
}
|
||||
|
||||
void wdt_isr_enable() {
|
||||
cli();
|
||||
wdt_reset();
|
||||
|
||||
WDTCSR |= (1 << WDCE) | (1 << WDE);
|
||||
|
||||
WDTCSR = (1 << WDP2) | (1 << WDP0); // WDP[3:0] = 0b101 (2 seconds)
|
||||
WDTCSR |= (1 << WDIE); // Enable WDT Interrupt mode
|
||||
sei();
|
||||
}
|
||||
|
||||
void wdt_isr_disable() {
|
||||
|
||||
cli();
|
||||
|
||||
WDTCSR |= (1 << WDCE) | (1 << WDE);
|
||||
WDTCSR = 0x00;
|
||||
|
||||
sei();
|
||||
}
|
||||
//
|
||||
//void set_debounce_timer_interrupt() {
|
||||
// TCCR0A = 0;
|
||||
// TCCR0B = (1 << CS01) | (1 << CS00);
|
||||
// TIMSK0 = (1 << TOIE0);
|
||||
// TCNT0 = 0;
|
||||
//}
|
||||
Reference in New Issue
Block a user