対象マイコン:Atmega88シリーズ
引数:なし
返り値:なし
説明:AD変換を右寄せで初期化する関数
//ADC設定の初期化
void adc_init(void){
ADMUX = 0b01000000; //AVCCを基準、右寄せ、ADC0(PC0)に接続
//変換器を有効、
//16分周(1MHz/16=62.5kHz)AD変換には13クロックかかるため62.5kHz/13=約5kHz
ADCSRA = 0b10000100;
_delay_ms(5); //分周器の動作安定待ち
}
対象マイコン:Atmega88シリーズ
第1引数:AD変換器に接続するピン番号(0~5)
返り値:AD変換の結果
説明:AD変換を実行する関数
//AD変換を行う関数
uint16_t adc(int pin){
ADMUX = ADMUX & 0b11110000 ; //ピンセレクトを初期化
ADMUX = ADMUX | pin; //ピンセレクト
ADCSRA = ADCSRA | 0b01000000; //AD変換器起動
while(ADCSRA & 0b01000000); //AD変換完了待ち
return ADC;
}
最終更新:2016年02月18日 20:48