AVR マイコンを新たに使い始めました。ATmega32-A マイコンを使用しています。外部 ADC (AD7798) を 1 つ接続しました。SPI通信で外部ADCの値を読みたいのですが、いろいろ試してみたのですが、ADCの値を取得できません。私のプロジェクトは、プログラム可能な波形発生器を備えたマイクロコントローラーを使用して波形を生成する必要があることです。私はこれをうまくやっており、この信号をセンサーに与えています。ADCからセンサー出力を読み取りたい。以下に簡単な回路図を添付しました。私はこのようなコードを書きました
// I have initialized PORTB like this
PORTB=0x00;
DDRB=0xBF;
// SPI initialisation
// SPI clock rate fck/16
// SPI master
// SPI MSB first
// SPI CPOL = 1, CPHA = 1
SPCR=0x5D;
PORTB.3 = 1;
void main (void){
printf("adc value :%x\n",ReadAd());
}
すべての関数を別のファイルに書きました
データシートを何百回も読みましたが、それでも ADC 値を読み取ることができます。私は自分がしている間違いを混乱させています。すべてのピンをチェックし、オシロスコープを使用して ADC 入力ピンをチェックしたところ、0.6V の入力信号が得られました。この問題を解決するのを手伝ってください。明日がこのプロジェクトの締め切りです。ADC値を読むのを手伝ってください。
前もって感謝します