AVR/Atmega128 강좌2015. 10. 3. 10:13AVR에서 Timer 사용하기
AVR에는 두가지 타입의 타이머가 있다. 2^8=256까지 카운터가 가능한 8비트 그리고 2^16=65535까지 카운터가 가능한 16비트 타이머.. 카운터가 MAX값인 255에 도달하면 오버플로우가 발생하여 다시 값은 0이되는 것을 아래 그림에서 보여주고 있다. Arduino Uno에서 사용하는 Atmega328p 마이크로 컨트롤러에는 3개의 타이머가 있다. timer 0와 timer 2는 8비트 타이머이고 Timer1은 16 비트 타이머이다. Prescaler 사용중인 크리스탈의 값 F_CPU = 4Mhz라고 가정하자. 그리고 16비트 타이머(최대값 65535)를 사용한다고 가정하면 최대 만들 수 있는 delay의 값 16.384ms이다. 계산 과정은 아래와 같다. 주기 = 1/주파수 = 1/40000..