牛卧堂MCU技术交流

标题: M0A21的ADC能否轉換2CH以上的值? [打印本页]

作者: 匿名    时间: 2022-8-22 08:29
标题: M0A21的ADC能否轉換2CH以上的值?

根據附件圖檔的原廠註解,M0A21系列ADC一次只能轉換一個CH的ADC值
那麼要轉換2CH的ADC值就必須分兩次執行
問題是怎樣才算是分兩次?
按照附件圖檔的ˊ寫法,實際測試過是失敗的
請教怎樣才能分兩次轉換ADC值?


Screenshot_3.png (36.5 KB, 下载次数: 481)

ADC初始化

ADC初始化

Screenshot_2.png (28.28 KB, 下载次数: 479)

分兩次轉換ADC

分兩次轉換ADC

Screenshot_1.png (7.37 KB, 下载次数: 479)

原廠註解

原廠註解

作者: chrishu    时间: 2022-8-22 11:01
可以使用单次扫描模式, 会将使能的通道依次转换,通道号小的优先级高。请参考例程ADC_SingleCycleScanMode
作者: 匿名    时间: 2022-8-22 12:03
chrishu 发表于 2022-8-22 11:01
可以使用单次扫描模式, 会将使能的通道依次转换,通道号小的优先级高。请参考例程ADC_SingleCycleScanMode ...

多謝回答,速度很快!
這邊發現是同時開兩個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
作者: chrishu    时间: 2022-8-23 10:52
实际测试ADC读取bandgap的电压变化不大。EVB是Numaker-M0A23OC V1.1,将1脚和24脚连接在一起,代码修改:
作者: chrishu    时间: 2022-8-23 10:52


作者: chrishu    时间: 2022-8-23 10:53
测试结果:
作者: chrishu    时间: 2022-8-23 10:53


作者: 匿名    时间: 2022-8-24 08:31
抱歉,我跑了相同的程式
當您把1腳跟24腳綁在一起,會得到上述結果

當您把1腳跟24腳解開,經過一段時間的電容放電,
CH3會變0,CH29會變1624左右
這時候的CH29(Bandgap)值1624才是對的
而上述結果中的CH29等於343x是錯的
Bandgap值不應該這麼大幅的改變
看起來不是ADC錯了,就是Bandgap錯了
對照BSP裡面 ADC_BandGapCalculateAVDD
多謝您花時間注意, 還請多指教
作者: 匿名    时间: 2024-3-14 06:20
游客 101.137.193.x 发表于 2022-8-24 08:31
抱歉,我跑了相同的程式
當您把1腳跟24腳綁在一起,會得到上述結果

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 硬體有問題





欢迎光临 牛卧堂MCU技术交流 (http://nuvoton-mcu.com/) Powered by Discuz! X3.2