需要注意STC单片机ADC的0值bug
m24h2025/08/24计算机电子学 IP:上海

这两天用STC8H的单片机采集某电源模块的电压 出现偶尔结果为0的现象

怀疑这个bug和信号噪声或毛刺有关 当电源稳定(没开 只有稳定偏压)采集信号不出现0的情况 当信号有噪声(示波器观察 噪声幅度不大)严重时 平均7次采样 会出现一次结果为0 最接近的两次0值 中间只隔一个正常值

只采一路信号 每次MCU ADC 寄存器命令都预留足够反应时间(中间用足够的NOP)使用很长的采样保持时间 均不能解决这个问题

而且在疑似STC官方的国芯论坛上 这个问题早有爆出 我看的帖子就涉及8H(U的和普通的)和 8G 老款15W好象说没有问题

Screenshot_2025-08-24-21-37-16-742_com.mmbox.xbrowser.pro-edit.jpg

Screenshot_2025-08-24-21-42-29-206_com.mmbox.xbrowser.pro-edit.jpg

Screenshot_2025-08-24-21-38-12-705_com.mmbox.xbrowser.pro-edit.jpg

目前没有解决也没有解释 管理的口径是噪声 软件 电路设计的问题 但这无疑是推诿 工程师都明白 噪声什么都是混乱的 明明确确的0 只有bug可以解释

Screenshot_2025-08-24-21-41-05-091_com.mmbox.xbrowser.pro-edit.jpg

有些回复 真是没有技术逻辑 细思极乐

Screenshot_2025-08-24-22-21-44-805_com.mmbox.xbrowser.pro-edit.jpg

ADC难道主要用途之一不是监测问题吗 如果因为可能有问题的反而不能监测 那我要这棒子(有趣的是 官方自称打狗棒)有何用

Screenshot_2025-08-24-22-22-16-086_com.mmbox.xbrowser.pro-edit.jpg

难道STC的ADC只能用于采集一个完美到其实不需要监测的电源 主要为了显示自身噪声的用途吗

作为不愿收板的态度对比 2个月前我向微软WSL提了一个bug 对方要我测这测那的 搞得我都烦 觉得这bug宁可不提了 直到前几天还收到反馈


这个问题解决方法 其实反而比处理噪声容易 遇0重试或者跳过就行 但是问题也是很大的 对于许多需要逐次处理的工程 比如采集马达电流做FOC 或者实时控制开关电源而言 每周期要多保留一次出错的机会 就要付出不小的时间代价


提醒用STC的 注意这个坑


[修改于 2个月17天前 - 2025/08/24 22:33:22]

来自:计算机科学 / 计算机电子学
0
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
m24h
进士 学者 机友
文章
64
回复
963
学术分
1
2020/01/22注册,5时12分前活动

个人开源项目: XXXXXXXXXXXXXX

主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:上海
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的