找回密码
 立即注册
查看: 92|回复: 5

菜鸟自救贴

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-07-17 14:50:27
已绑定手机

1

主题

3

回帖

21

积分

新手上路

积分
21
发表于 2025-7-15 15:16:58 | 显示全部楼层 |阅读模式
本菜鸟使用的是STC8H3K48的芯片,在device里未找到3K48,用的是3K64S4(见图一)。
截图202507151436444940.jpg

(图一)



截图202507151444317350.jpg

(图二)

ADC7(P1^7)输出的是AD芯片的值(见图二)

截图202507151450353232.jpg

(图三)



目前的问题是,我使用12位ADC7(P1^7)输出,输出异常,用万用表测量板子引出来的脚,结果为0V


截图202507151453595205.jpg

(图四)

截图202507151457047650.jpg

(图五)

图四是GPIO不同模式的寄存器配置,图五是对ADC7(P1^7)的初始化

截图202507151502064462.jpg

图六
(图七)
截图202507151511256455.jpg
(图八)
截图202507151513018206.jpg
(图九)
截图202507151513553697.jpg
(图十)

图七为芯片规格书有关ADC_CONTR寄存器的说明,图八是不同芯片对应的ADC通道说明;图九是ADCCFG寄存器的说明,图十是位RESFMT的说明(0是左对齐,1是右对齐)
跪求大佬指点,如需要其他信息和资料,立刻补充


截图202507151509445827.jpg
截图202507151515288698.jpg
回复

使用道具 举报 送花

3

主题

247

回帖

-795

积分

等待验证会员

积分
-795
发表于 2025-7-15 15:23:00 | 显示全部楼层
尊敬的用户,您好!

感谢您对STC8H系列单片机的关注与使用。针对您提到的“STC8H3K48芯片在device中未找到3K48,使用的是3K64S4”以及“ADC7(P1^7)输出异常”的问题,我们已仔细阅读您的描述,并结合相关技术文档进行分析,现将问题原因及解决建议整理如下:

一、关于芯片型号匹配问题

您提到在开发环境(如Keil、STC-ISP等)中未找到“STC8H3K48”,但实际使用的是“STC8H3K64S4”。这可能是由于以下原因:

1. 开发工具版本过旧:部分早期版本的开发工具可能未包含最新的STC8H系列芯片型号,建议升级至最新版STC-ISP或Keil MDK。
2. 芯片型号命名差异:STC8H系列中存在多个子型号,如3K64S4、3K64、3K48等,其引脚数、Flash容量、ADC精度等参数略有不同。请确认您的开发工具是否支持“STC8H3K64S4”型号。
3. 配置文件错误:若您手动配置了芯片型号,请确保选择正确的型号名称,避免因型号不匹配导致功能异常。

二、关于ADC7(P1^7)输出异常的问题

根据您提供的信息,ADC7(P1^7)的输出为0V,且通过万用表测量该引脚电压为0V,说明可能存在以下几种情况:

1. ADC通道未正确配置

从图五所示的初始化代码来看,您对ADC7进行了配置,但需注意以下几点:
ADC使能:必须先开启ADC模块,否则ADC无法正常工作。
通道选择:ADC7对应的是P1^7,需确认是否选择了正确的通道。
采样时间设置:ADC的采样时间不足可能导致采集结果不准确。
参考电压配置:确保ADC参考电压(Vref)已正确设置,通常为VDD或外部参考电压。

2. GPIO模式配置错误

从图四可见,P1^7的GPIO模式配置可能存在问题:
ADC功能未启用:在STM32或类似架构中,ADC引脚需要配置为模拟输入模式。若配置为数字输入/输出,则ADC无法正常工作。
复用功能冲突:若P1^7被其他外设占用(如UART、SPI等),则ADC功能可能被禁用。

3. 硬件连接问题
引脚未接通:检查P1^7是否与ADC输入电路正确连接,是否存在断路或短路。
外部信号源异常:若ADC输入端无有效信号,结果自然为0。建议使用示波器或信号发生器验证输入信号是否正常。
电源或地线不稳定:ADC模块供电不稳定也可能导致读数异常。

三、建议操作步骤

1. 确认芯片型号:确保开发工具中选择的是“STC8H3K64S4”,并更新相关驱动和库文件。
2. 检查ADC初始化代码:
确保ADC模块已使能;
确认ADC7对应的通道已被正确配置;
设置合适的采样时间;
检查参考电压是否设置正确。
3. 检查GPIO配置:
确认P1^7配置为模拟输入模式;
避免与其他外设复用冲突。
4. 测试ADC输入信号:
使用示波器或信号发生器验证输入信号是否正常;
若无信号,检查外部电路是否存在问题。
5. 调试与日志:
添加调试输出,查看ADC读取值是否为0;
使用逻辑分析仪或串口调试信息辅助排查问题。

四、总结

您当前遇到的ADC7(P1^7)输出异常问题,主要可能源于以下几方面:
芯片型号未正确识别;
ADC通道配置不当;
GPIO模式未设置为模拟输入;
外部信号源或硬件连接异常。

建议您按照上述步骤逐一排查,并确保开发环境和硬件配置均符合官方文档要求。如仍无法解决问题,欢迎提供更详细的代码片段或电路图,我们将进一步协助您分析。

如您有其他关于STC8H系列芯片的使用问题,也欢迎随时咨询。

祝您项目顺利!  
国芯人工智能团队

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-07-17 14:50:27
已绑定手机

1

主题

3

回帖

21

积分

新手上路

积分
21
发表于 2025-7-15 16:05:35 | 显示全部楼层
国芯人*** 发表于 2025-7-15 15:23
尊敬的用户,您好!

感谢您对STC8H系列单片机的关注与使用。针对您提到的“STC8H3K48芯片在device中未找到 ...

转人工
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:513
  • 最近打卡:2025-07-31 08:58:47
已绑定手机

87

主题

5532

回帖

1万

积分

超级版主

DebugLab

积分
10123
发表于 2025-7-15 17:17:21 | 显示全部楼层
“目前的问题是,我使用12位ADC7(P1^7)输出,输出异常,用万用表测量板子引出来的脚,结果为0V”
ADC应为高阻输入,不是输出,电压由外部电路决定,看您已经设置为高阻输入了
12位ADC,结果为0~4095,外部输入0V时,值应该在0附近(可能是个位数但不一定绝对为0)
实际测量是0V,如果这与预期不符,请检查外部电路是否有问题
ADC电压来自热敏电阻,热敏电阻由431基准供电,检查2.5V基准是否正常
DebugLab
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-07-17 14:50:27
已绑定手机

1

主题

3

回帖

21

积分

新手上路

积分
21
发表于 2025-7-16 21:03:12 | 显示全部楼层
Debu*** 发表于 2025-7-15 17:17
“目前的问题是,我使用12位ADC7(P1^7)输出,输出异常,用万用表测量板子引出来的脚,结果为0V”
ADC应为 ...

嗯对的

已经排除硬件问题,2.5V基准正常。软件配置方面,除了ADC7(P1^7)要配置成高阻输入,还有什么需要配置。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-07-17 14:50:27
已绑定手机

1

主题

3

回帖

21

积分

新手上路

积分
21
发表于 2025-7-17 14:50:27 | 显示全部楼层
Debu*** 发表于 2025-7-15 17:17
“目前的问题是,我使用12位ADC7(P1^7)输出,输出异常,用万用表测量板子引出来的脚,结果为0V”
ADC应为 ...

问题已解决
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-7-31 22:57 , Processed in 0.122918 second(s), 78 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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