ch552 ADC串口打印数据,5v电压显示255,为什么接芯片20引脚3v3出现的adc值是205?

接5v电压,串口打印ADC值显示

e3e4ced555e946859e0b51246408dc0.png

接ch552芯片20脚3.3v串口打印显示

1639106273(1).png

********************************************************************************/

#include "CH554.H"                                                   

#include "Debug.H"

#include "GPIO.H"

#include "HT1621.H"

#include "ADC.H"

#include "stdio.h"

#include

#include

#define uchar unsigned char

#define uint  unsigned int 

void main( ) 

{

ADCInit(0);

CfgFsys( );

mDelaymS(20);

mInitSTDIO( );

CH554UART0Alter();     //串口映射

EA=1;              //开启全局中断

while(1)

{

{

ADC_ChannelSelect(3);         //ADC采样电源开启和通道设置,采样通道AIN3

ADC_START = 1;                //开启采样,等待采样完成进入中断

while(ADC_START);             //采样完成,ADC_START=0

num=ADC_DATA;

mDelaymS(1000);                //等待,进入下通道采集数据

}

printf("ADC\n");

mDelaymS(1000);

printf("DATA: %d\n",(UINT16)ADC_DATA);

mDelaymS(1000); 

}

}


如果采用CH552,确保所有使用到芯片相关头文件都引用"CH552.h"

如果贴出程序为实际运行程序,则串口输出数值应为变量“num”


只有登录才能回复,可以选择微信账号登录