ITGenerations
[avr] 타이머/카운터 본문
// --타이머 ----
//source 13
//normal 모드
/*
#include <avr/io.h>
#include <avr/interrupt.h>
static unsigned char pattern[3]={0xFE, 0xFD, 0xFB};
ISR(TIMER0_OVF_vect) // 타이머 오버플로우형식 0, 2 선택 가능
{ // 타이머 카운터 레지스터
static int index=0;
static char n_enter=0;
TCNT0=100; // 타이머 초기값 매번 설정, 값 기록
n_enter++;
if(n_enter==50)
{
n_enter=3;
PORTA=pattern[index++];
if(index==3) index=0;
}
}
int main()
{
DDRA=0xFF;
PORTA=0xFF;
TCCR0=0x00; //타이머/카운터 제어 레지스터 0, 2
// 선택 0, 표준모드 타이머 정지
TCNT0=100; // 타이머 초기값 설정
TIMSK=(1<<TOIE0); //타이머/카운터 인터럽트 마스크 레지스터
//TOIE 0,2 타이머 오버플로 인터럽트 허용
sei(); //인터럽트 허용
TCCR0 |= (7<<CS00); //타이머/카운터 제어 레지스터
//분주비 1024=1111 타이머/카운터 0의 클록 선정
while(1);
}
*/
'Univ > AVR atmega128' 카테고리의 다른 글
[avr]세븐세그먼트, 트랜지스터 사용 x (0) | 2017.12.09 |
---|---|
[avr] 타이머 (0) | 2017.12.08 |
[avr]스위치 수정 과정, 스태틱함수 추가, 인터럽트 라이브러리 추가, 해결완료 (0) | 2017.12.08 |
[avr]스위치 수정 과정, 스태틱함수 추가, 인터럽트 라이브러리 추가, 딜레이함수 추가 (0) | 2017.12.08 |
[avr] 스위치 수정 과정, 스태틱함수 추가, 인터럽트 라이브러리 추가, 채터링 문제 (0) | 2017.12.08 |