找回密码
 立即注册
查看: 365|回复: 3

ADC电压采集

[复制链接]
  • 打卡等级:常住居民I
  • 打卡总天数:75
  • 最近打卡:2025-01-05 14:16:57

30

主题

132

回帖

214

积分

中级会员

积分
214
发表于 2024-11-2 22:20:35 | 显示全部楼层 |阅读模式
本帖最后由 江上酒酒 于 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;
}


ff0c7d82bc78fe29e60823e12d5b9e4.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:460
  • 最近打卡:2025-05-03 07:38:35
已绑定手机
已实名认证

110

主题

2224

回帖

5470

积分

版主

积分
5470
发表于 2024-11-2 22:45:33 | 显示全部楼层
本帖最后由 王昱顺 于 2024-11-2 22:46 编辑

这是对的,因为你没配置串口相关,也没将printf关联到串口上。
具体可以参考论坛内有关printf的相关帖子,有详细介绍应该如何使用
https://www.stcaimcu.com/forum.p ... mp;extra=#pid105956
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:424
  • 最近打卡:2025-05-03 00:02:01
已绑定手机

19

主题

3191

回帖

4876

积分

论坛元老

积分
4876
发表于 2024-11-2 22:57:31 | 显示全部楼层
有 printf,但是没初始化串口单片机不知道 printf到哪里

点评

我记得是默认打印到内存里了,不过具体存在哪里,就不知道了  详情 回复 发表于 2024-11-2 23:04
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:460
  • 最近打卡:2025-05-03 07:38:35
已绑定手机
已实名认证

110

主题

2224

回帖

5470

积分

版主

积分
5470
发表于 2024-11-2 23:04:17 | 显示全部楼层
so*** 发表于 2024-11-2 22:57
有 printf,但是没初始化串口单片机不知道 printf到哪里

我记得是默认打印到内存里了,不过具体存在哪里,就不知道了
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 12:56 , Processed in 0.172876 second(s), 71 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表