initial avr projects (blink + interrupts)

This commit is contained in:
Pratik
2026-04-03 09:42:37 +11:00
commit 2c9714c851
7 changed files with 196 additions and 0 deletions

35
interrupts/main.c Normal file
View File

@@ -0,0 +1,35 @@
#include "delay.h"
#include <avr/interrupt.h>
volatile uint8_t flag=0;
int main(void){
timer1_init();
DDRC |= (1<<PC0); // PB1 (D9)
// prescaler 8
DDRD &= ~(1 << PD2);
PORTD |= (1 << PD2);
EICRA &= ~(1<<ISC00);
EICRA |= (1<<ISC01);
EIMSK |= (1<<INT0);
sei();
while(1){
if(flag){
flag=0;
PORTC |=(1<<PC0);
delay_ms(500);
PORTC &=~(1<<PC0);
delay_ms(500);
}
else{
PORTC |=(1<<PC0);
delay_ms(50);
PORTC &=~(1<<PC0);
delay_ms(50);
} // 75%
}
}
ISR(INT0_vect){
flag=1;
}