找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

[BSP] M0A21的ADC能否轉換2CH以上的值?

[复制链接]
跳转到指定楼层
楼主
匿名  发表于 2022-8-22 08:29:44 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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


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

ADC初始化

ADC初始化

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

分兩次轉換ADC

分兩次轉換ADC

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

原廠註解

原廠註解
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
回复

使用道具

沙发
chrishu 发表于 2022-8-22 11:01:59 | 只看该作者
可以使用单次扫描模式, 会将使能的通道依次转换,通道号小的优先级高。请参考例程ADC_SingleCycleScanMode
回复 支持 反对

使用道具 举报

板凳
匿名  发表于 2022-8-22 12:03:19
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:25 | 只看该作者
实际测试ADC读取bandgap的电压变化不大。EVB是Numaker-M0A23OC V1.1,将1脚和24脚连接在一起,代码修改:
回复 支持 反对

使用道具 举报

5#
chrishu 发表于 2022-8-23 10:52:54 | 只看该作者

回复 支持 反对

使用道具 举报

6#
chrishu 发表于 2022-8-23 10:53:09 | 只看该作者
测试结果:
回复 支持 反对

使用道具 举报

7#
chrishu 发表于 2022-8-23 10:53:49 | 只看该作者

回复 支持 反对

使用道具 举报

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

當您把1腳跟24腳解開,經過一段時間的電容放電,
CH3會變0,CH29會變1624左右
這時候的CH29(Bandgap)值1624才是對的
而上述結果中的CH29等於343x是錯的
Bandgap值不應該這麼大幅的改變
看起來不是ADC錯了,就是Bandgap錯了
對照BSP裡面 ADC_BandGapCalculateAVDD
多謝您花時間注意, 還請多指教
回复 支持 反对

使用道具

9#
匿名  发表于 2024-3-14 06:20:12
游客 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 硬體有問題
回复 支持 反对

使用道具

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU