«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

ITGenerations

[avr] 스위치 수정 과정, 스태틱함수 추가, 인터럽트 라이브러리 추가, 채터링 문제 본문

Univ/AVR atmega128

[avr] 스위치 수정 과정, 스태틱함수 추가, 인터럽트 라이브러리 추가, 채터링 문제

ITGenerations 2017. 12. 8. 22:56

// source 10

// 스위치 수정 과정, 스태틱함수 추가, 인터럽트 라이브러리 추가

//불완전한 코드


#include <avr/io.h>

#include <util/delay.h>

#include <avr/interrupt.h>

#define DEBOUNCING_DELAY 20

void msec_delay(int n);

static unsigned char pattern[3]={0xFE, 0xFD, 0xFB};


ISR(INT0_vect)

{


static int i=0;

if(++i==3) i=0;

PORTA=pattern[i];

//아직 채터링 문제 존재 

}


int main()

{

DDRA=0xFF;

DDRD=0x00;

SFIOR &=~(1<<PUD);

PORTD |=(0x01);

PORTA=pattern[0];

EICRA = (2<<ISC00);

EIMSK = (1<<INT0);

sei();

while(1);

return 0;

}


void msec_delay(int n)

{

for(; n>0; n--)

_delay_ms(1);

}