ADC电压采集
本帖最后由 江上酒酒 于 2024-11-2 22:23 编辑用一箭双雕转化器和STC32G12K128试验箱进行ADC电压采集,没有反应为什么。
#include <STC32G.H>
#include <INTRINS.H>
void Delay2ms(void);
void ADC_Init(void);
unsigned int ADC_Read(unsigned char no);
unsigned int ADC_CAL_Voltage(unsigned int num);
void main()
{
unsigned int ADC_VAL;
ADC_Init();
while(1)
{
Delay2ms();
ADC_VAL=ADC_Read(0);
printf("当前ADC数\xfd值:%d\t%dmv\r\n",(int)ADC_VAL,(int)ADC_CAL_Voltage(ADC_VAL));
}
}
void Delay2ms(void) //@24.000MHz
{
unsigned char data i, j;
i = 8;
j = 197;
do
{
while (--j);
} while (--i);
}
void ADC_Init(void)
{
P1M0=0X00;
P1M1=0X01;
ADCTIM=0X3F;
ADCCFG=0X2F;
ADC_POWER=1;
}
unsigned int ADC_Read(unsigned char no)
{
unsigned int adcval;
ADC_CONTR &=0XF0;
ADC_CONTR |=no;
ADC_START=1;
_nop_();
_nop_();
while(!ADC_FLAG);
ADC_FLAG=0;
adcval=(ADC_RES<<8)+ADC_RESL;
return adcval;
}
unsigned int ADC_CAL_Voltage(unsigned int num)
{
return num*2.5*1000/4096;
}
本帖最后由 王昱顺 于 2024-11-2 22:46 编辑
这是对的,因为你没配置串口相关,也没将printf关联到串口上。
具体可以参考论坛内有关printf的相关帖子,有详细介绍应该如何使用
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=8145&highlight=printf&page=1&extra=#pid105956
有 printf,但是没初始化串口单片机不知道 printf到哪里 soma 发表于 2024-11-2 22:57
有 printf,但是没初始化串口单片机不知道 printf到哪里
我记得是默认打印到内存里了,不过具体存在哪里,就不知道了
页:
[1]