📄 main.c
字号:
// licznik na przerwaniach
# include <avr/io.h>
# include <avr/interrupt.h>
#include <util/delay.h>
# define LED_ON PORTB &= ~(1<< PB0)
# define LED_OFF PORTB |= (1<< PB0)
# define sw2 PD4
int8_t temp=0; // zmienna globalna
// definicja przerwania
ISR (INT1_vect) {
// wy渨ietlenie tempa na diodach PORTB = ~temp;
_delay_ms(50);
temp++;
PORTB = ~temp;
}
int main (void) {
// konfiguracja LEDa
DDRB |= (1<<PB0) | (1<<PB1);
PORTB |= (1<<PB0) | (1<<PB1);
//sw1 - konfiguracja (podci筭niete do Vcc)
DDRD &= ~((1<<PD3) | (1<<PD4));
PORTD |= (1<<PD3) | (1<<PD4);
while (1) {
MCUCR |= (1<<ISC11); // w tum miejcsu definiujemy jakim zboczam wyzwalamy przerwanie
// ODBLOKUJ INT0
GICR |= (1<<INT1);
sei();
if ((PIND & (1<<sw2))==0) {
temp=0;
PORTB = ~temp;
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -