我已經開始使用AVR微控制器。我正在使用ATmega32-A微控制器。我連接了一個外部ADC(AD7798)。我想用SPI通信讀取外部ADC值。我已經嘗試了很多,但我無法獲得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值。
在此先感謝
+1爲質量電路圖 –
這是一張白板圖的照片?如果是這樣,你用什麼工具來清理它? –
@Michael Burr,不,它是手繪在紙上,PDF圖像是掃描該紙張的副本。 – verendra