無料ブログはココログ

« C-SizeDCC 改訂版 | トップページ | C-SizeDCC 改訂版3 »

2020年9月 5日 (土)

C-SizeDCC 改訂版その2

C-SizeDCCでCV書き込み

今まで試してなかったのでやってみました。Arduino Nano EveryのUSB端子をパソコンに繋いでDesktopStationSoftwareの「CV設定」で書き込みと読み出しを行います。
最初、何故か読み出しデータが実際のCV値と異なりましたが、ADCの初期化を以下のように修正したら正常に読み出し出来ました。

最初のコード

void ADC0_init()
{
#if defined(__AVR_ATmega4809__)
ADC0.CTRLC = ADC_REFSEL_INTREF_gc;
ADC0.CTRLC |= ADC_PRESC_DIV8_gc;
#else
ADCSRA = ADCSRA & 0xf8; // Faster Analog read
ADCSRA = ADCSRA | 0x04; // 1/8 ADC Prescaler
#endif
analogReference(DEFAULT); // set analog reference 5V(VCC)
}

4809の初期設定がVDDなのでこれを保持し、analogReference(DEFAULT);は実行しないよう修正しました。

void ADC0_init()
{
#if defined(__AVR_ATmega4809__)
ADC0.CTRLC &= 0b00010000; // clear prescaler;
ADC0.CTRLC |= ADC_PRESC_DIV8_gc;
#else
ADCSRA = ADCSRA & 0xf8; // Faster Analog read
ADCSRA = ADCSRA | 0x04; // 1/8 ADC Prescaler
analogReference(DEFAULT); // set analog reference 5V(VCC)
#endif
}

Dscvwrite

« C-SizeDCC 改訂版 | トップページ | C-SizeDCC 改訂版3 »

コントローラ」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« C-SizeDCC 改訂版 | トップページ | C-SizeDCC 改訂版3 »