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

STC32G显示电压一直不变求教

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-09-30 10:19:38
已绑定手机

1

主题

10

回帖

27

积分

新手上路

积分
27
发表于 3 天前 | 显示全部楼层
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;
        /***************
区别在哪,我主要希望搞清楚区别在哪,无关的东西没时间去关注
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:195
  • 最近打卡:2025-10-02 09:04:52

784

主题

1万

回帖

1万

积分

管理员

积分
19406
发表于 3 天前 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:511
  • 最近打卡:2025-10-02 23:17:29

9

主题

461

回帖

3245

积分

论坛元老

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

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:192
  • 最近打卡:2025-10-02 16:25:18

76

主题

6747

回帖

1万

积分

超级版主

积分
14273
发表于 3 天前 | 显示全部楼层
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, 下载次数: 0)


回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-10-3 08:52 , Processed in 0.128778 second(s), 67 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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