游客 101.137.193.x 发表于 2022-8-24 08:31 ADC_Open(ADC, ADC_ADCR_DIFFEN_SINGLE_END, ADC_ADCR_ADMD_SINGLE_CYCLE, BIT29); CH29(Bandgap)值 獨立讀取沒問題 , ADC_Open(ADC, ADC_ADCR_DIFFEN_SINGLE_END, ADC_ADCR_ADMD_SINGLE_CYCLE, BIT3|BIT29); ADC多ch 讀取 , CH29(Bandgap)值 讀取有問題 , <==MCU ADC 硬體有問題 |
抱歉,我跑了相同的程式 當您把1腳跟24腳綁在一起,會得到上述結果 當您把1腳跟24腳解開,經過一段時間的電容放電, CH3會變0,CH29會變1624左右 這時候的CH29(Bandgap)值1624才是對的 而上述結果中的CH29等於343x是錯的 Bandgap值不應該這麼大幅的改變 看起來不是ADC錯了,就是Bandgap錯了 對照BSP裡面 ADC_BandGapCalculateAVDD 多謝您花時間注意, 還請多指教 |
chrishu 发表于 2022-8-22 11:01 多謝回答,速度很快! 這邊發現是同時開兩個ADC Channel 一個量Bandgap(ADC.CH29),另一個量ADC.CH3(舉例) 結果ADC.CH29的量測結果會受ADC.CH3影響 照理說ADC.CH29是Bandgap,量測值應該不會有大變化 實際量測,當ADC.CH3接AVDD,ADC.CH29(Bandgap)量測值會很顯著的偏大 IC是M0A23OC1AC, EVB是Numaker-M0A23OC V1.1 |