avr처음시작했는데 static 왜사용하는거죠??

rollcakes의 이미지

 switch_hit()

◦ 스위치가 눌려지는 순간에만 1을 반환하는 함수

uint8_t switch_hit(void)

{ static uint8_t prev_state = _BV(SW2); //여기서 스태틱 함수를 왜사용하는거죠..? 스태틱함수가 없으면 어떤일이일어나나요

uint8_t cur_state;

cur_state = PINE&_BV(SW2);
if(prev_state != cur_state)

{

prev_state = cur_state;

if(!cur_state) return 1;

else return 0;

} else return 0;

라스코니의 이미지

static uint8_t prev_state = _BV(SW2);
에서 prev_state 는 스태픽 함수가 아니라 스태틱 변수로 선언된 겁니다.

static variable 으로 구글에서 서치해 보세요.