我刚开始使用 AVR 微控制器。我正在使用 ATmega32-A 微控制器。我已经连接了一个外部 ADC(AD7798)。我想使用 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 输入信号。请帮我解决这个问题。Tommarow 是这个项目的最后期限。请任何人帮助我读取ADC值。
提前致谢