找回密码
 立即注册
楼主: fzhlpp

STC32G显示电压一直不变 | 已解决, ADC_VREF+ 没接

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-10-05 09:48:56
已绑定手机

1

主题

11

回帖

39

积分

新手上路

积分
39
发表于 2025-9-30 17:03:33 | 显示全部楼层
erci*** 发表于 2025-9-30 16:46
ADC参考例程三楼发了的试下,压缩包内也有屠龙刀核心板电路图可参考
https://www.stcaimcu.com/forum.ph ...

你给的所谓屠龙刀例程不过是卖弄你们串口功能和C语言的伎俩 ,关于AD的只是略带提及一二,何况还是在里面看不出跟我代码有什么不同(ADC这块)下面我截图一点对比:下面这是屠龙刀例程ADC代码片段

u16        Get_ADC12bitResult(u8 channel)        //channel = 0~15
{
        ADC_RES = 0;
        ADC_RESL = 0;

    ADC_CONTR = (ADC_CONTR & 0xf0) | channel; //设置ADC转换通道
    ADC_START = 1;//启动ADC转换
    _nop_();
    _nop_();
    _nop_();
    while(ADC_FLAG == 0);   //wait for ADC finish
    ADC_FLAG = 0;     //清除ADC结束标志
    return (((u16)ADC_RES << 8) | ADC_RESL);
}

/*********************
::
我的代码片段:

        ADC_CONTR = 0x80;   //使能 ADC 模块
        ADC_CONTR |= 0x40;  //启动AD转换
  _nop_();
        _nop_();
        _nop_();
  while (!(ADC_CONTR & 0x20));   //查询ADC完成标志
  ADC_CONTR = ADC_CONTR & 0x9f;        //清除ADC完成标志
        ADCH_Value=ADC_RES;                                                //保存ADC转换的值
        ADCL_Value=ADC_RESL;
        ADC_RES=0;                                                                //寄存器清零
        ADC_RESL=0;
        /***************
区别在哪,我主要希望搞清楚区别在哪,无关的东西没时间去关注
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:208
  • 最近打卡:2025-10-15 11:03:15

787

主题

1万

回帖

1万

积分

管理员

积分
19770
发表于 2025-9-30 17:22:01 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:523
  • 最近打卡:2025-10-15 12:20:44

9

主题

475

回帖

3321

积分

论坛元老

积分
3321
发表于 2025-9-30 18:20:18 | 显示全部楼层
例程别人用的没问题,就你这不行,程序没问题,就是硬件电路或烧录配置哪里不对,要仔细检查下设计问题还是元件问题或者焊接问题,
ADC采样需要提供参考电压,也是基本常识.简化代码到只留出问题那部分再进行调试,更容易发现问题原因.
电路你自己做的,肯定自己最熟悉,别人时间有限,也没那么多精力,不可能什么情况都考虑得到,只靠你提供的有限的信息来大概分析.
最终还要靠自己解决问题的.
1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:200
  • 最近打卡:2025-10-15 13:18:53

77

主题

6775

回帖

1万

积分

超级版主

积分
14384
发表于 2025-9-30 22:21:54 | 显示全部楼层
fzh*** 发表于 2025-9-30 15:03
梁工你好,我也奇怪应该是有参考的呀,至于现在为什么都看不到这点文字描述我就搞不懂了。有没有发个例程 ...

/*************        功能说明        **************
用户请先别修改程序, 直接下载"01-15路12位ADC转换-串口1(P3.1)返回结果-C语言"里的"ADC.hex"测试.
下载时选择主频11.0592MHZ. 测试时, 电脑的串口助手设置115200,8,n,1.
本程序演示15路ADC和bandgap查询采样,通过串口1(P3.1)发送给上位机,波特率115200,8,n,1.
0 1 2通道对应P1.0 P1.1 P5.4, 3~7通道对应P1.3~P1.7, 8~14通道对应P0.0~P0.6, 15通道为内部1.19V基准电压做输入的ADC值.
初始化时先把要ADC转换的引脚设置为高阻输入.
******************************************/

STC32G系列-ADC相关程序.rar (54.07 KB, 下载次数: 7)


回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-10-05 09:48:56
已绑定手机

1

主题

11

回帖

39

积分

新手上路

积分
39
发表于 2025-10-5 09:48:56 | 显示全部楼层

STC32G显示电压一直不变求教/已解决

梁*** 发表于 2025-9-30 22:21
/*************        功能说明        **************
用户请先别修改程序, 直接下载"01-15路12位ADC转 ...

感谢,问题已经找到,是11脚的ADC_VRef悬空的原因(本来用的别的芯片改STC忘记处理)
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:208
  • 最近打卡:2025-10-15 11:03:15

787

主题

1万

回帖

1万

积分

管理员

积分
19770
发表于 2025-10-5 10:25:07 | 显示全部楼层
截图202510051024183328.jpg


截图202510051025035761.jpg
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-10-16 05:35 , Processed in 0.130229 second(s), 75 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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