[技术问答]

M0156 ADC问题

[复制链接]
822|11
手机看帖
扫描二维码
随时随地手机跟帖
jackghl|  楼主 | 2019-8-16 10:30 | 显示全部楼层 |阅读模式
ADC初始化后,IO脚不是高阻状态,有电压输出,用10K下拉电阻都不能将电压降为0。

VDD=5.1V AVDD=3.3V,ADC初始化后P10电压是3.9V(P10悬空),加10K下拉电阻后电压为2.7V。

MCU内部是不是有上拉电阻?

使用特权

评论回复
dongnanxibei| | 2019-8-16 10:57 | 显示全部楼层
这个你初始化的正确么 ,参考BSP的例子,我记得要先设置为输入模式。

使用特权

评论回复
jackghl|  楼主 | 2019-8-16 11:07 | 显示全部楼层
已经是照抄例子程序,仿真单步运行后发觉   程序运行 set_ADC0_channel;   后,电压会从0变成3.9V(前面我将P10_DOUT=0).

void Init_ADC_P10(void)
{
                set_ADC_RST;
                clr_ADC_RST;
                P10_DOUT=0;
               
                set_ADEN_CLK;
                //ADCClkSource_PLL;
                ADCClkSource_ex12MHZ;
                CLKDIV|=((0xff)<<16);
                set_ADEN;
                set_CALEN;                                //Self Calibration Enable
                while(!(ADCALR&CALDONE));
                setAD_SIGSCAN;
                clr_DIFFEN;
                set_CHEN0;
               
                set_ADC0_channel;
                P1_OFFD |= OFFD0;
                P10_InputOnly;
                set_ADF;
                //set_ADIE;
                //NVIC_ISER |= ADC_INT;
}

使用特权

评论回复
dongnanxibei| | 2019-8-16 16:53 | 显示全部楼层
不要管这个,那么你拉低该端口后,能否检测出来该端口是0?

使用特权

评论回复
dongnanxibei| | 2019-8-16 16:53 | 显示全部楼层
ADC的值能否正确检测出来呢?

使用特权

评论回复
zhuotuzi| | 2019-8-18 21:05 | 显示全部楼层
http://www.nuvoton.com.cn/hq/support/tool-and-software/software/development-tool/?__locale=zh

使用特权

评论回复
zhuotuzi| | 2019-8-18 21:05 | 显示全部楼层
88465d594d0dc534a.png

使用特权

评论回复
zhuotuzi| | 2019-8-18 21:09 | 显示全部楼层
    SYS->P1_MFP = SYS_MFP_P10_AIN0;

使用特权

评论回复
jackghl|  楼主 | 2019-8-19 09:51 | 显示全部楼层
dongnanxibei 发表于 2019-8-16 16:53
ADC的值能否正确检测出来呢?

ADC的值不正确,0X400 左右。

使用特权

评论回复
jackghl|  楼主 | 2019-8-19 09:54 | 显示全部楼层
用新库好像情况好点(P10 0.001V,P11 0.3V),但旧库按照新库的流程重新写一次,还是问题照旧,除非P1_OFFD = 0x0ful<<16;
我第一次测试P1_OFFD = 0x3ul<<16;   P10还是有电压输出,变成P1_OFFD = 0x0ful<<16;后,P10电压只剩0.3V。
非常神奇,是LBN的BUG 还是旧库的BUG?

使用特权

评论回复
zhuomuniao110| | 2019-8-21 00:32 | 显示全部楼层
这就不清楚了,没用过这个型号,我觉得不应该有这么严重的问题,另外官方提供了两种例子,一种是基于库函数的,一种是基于寄存器的

使用特权

评论回复
zhuomuniao110| | 2019-8-21 00:34 | 显示全部楼层
楼主是用的官方的开发板,还是自己做的板子,另外跑原版不修改的例子也有问题吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

17

帖子

0

粉丝