ADコンバーター / 変換が完了したら割り込む / Cで記述する
p.438
前回と同じことをCで記述する。
#include <avr/io.h> #include <avr/interrupt.h> ISR(ADC_vect){ PORTD = ADCL; // AD変換が完了したらAD変換値を読み出す。 PORTB = ADCH; ADCSRA |= (1 << ADSC); // 変換開始ビットをセットし直す。 } int main(){ DDRB = 0xFF; DDRD = 0xFF; ADMUX |= (1 << REFS0); ADCSRA |= 0b111 | (1 << ADIE) | (1 << ADEN) | (1 << ADSC); // ADIE (割り込みイネーブルビット)をセットする。 sei(); while(1); return 0; }