any8086 发表于 2024-5-15 15:25:22

雨过天晴 发表于 2024-4-23 20:56
我也遇到了这个情况,用的是stc8g1k08的单片机,采样时很容易出现0的现象,最后多次采集去掉0后取平均数, ...

STC单片机自带的AD就是有BUG,经常会随机出0,我用过好几款不同型号的单片机,都存在这个问题,但是他们的技术就是不承认,还老是拿做示波器测试正弦波例子忽悠人家,有点偷换概念的意思,其实按照他们的方法做出来的示波器,根本就不能算是示波器。因为如果输入5Khz正弦波,AD测量出来的波形确实是5Khz正弦波,没有问题,如果把输入信号换成5Khz方波信号,你看看AD测量出来的波形是不是5Khz方波,肯定不是5Khz方波了。

神农鼎 发表于 2024-5-15 15:43:31

把自己的系统整好,程序写好,不要冤枉STC8H/STC8G的 ADC
STC8H/STC8G系列是真12位ADC 和真10位ADC
用数据讲话,上原理图,上程序,上详细的测试数据


【新提醒】STC8H8K64U 高精准 真 12位ADC 测试数据图表 - ADC/比较器,DMA支持的12位ADC,轨到轨比较器,DAC 国芯技术交流网站 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

神农鼎 发表于 2024-5-15 15:45:15



【新提醒】PWM做DAC的完整演示程序,用ADC来保证精度 - ADC/比较器,DMA支持的12位ADC,轨到轨比较器,DAC 国芯技术交流网站 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

sjh871259 发表于 2024-6-22 15:23:48

论坛上都一堆偶尔跳0的问题了,官网也不给说法,还一直让检查软件,硬件,我换个系列的就好了,你说是什么问题!

神农鼎 发表于 2024-6-22 15:37:31

用STC8H/STC32G核心功能测试板,ADC 测试程序测试,都没有问题

为何一堆说 串口调不通的,定时器错的,+-*/ 错的
===粗心,犯错,人之常情, 我们去批评他了吗

ADC :
你外部输入信号被外接干扰干扰到 0 ,也是有的
===你输入是 0 ,他采样到的就是 0, 还能转出不是 0 ?

原理图没有正规的,程序没有完整的,如何讨论 ?
===先准备好这些,再拍个完整的演示视频上来,大家好帮忙分析你错在哪

否则,STC核心板,实验箱都有,自己去测试下
===不就知到 STC8/STC32的ADC没问题

你说 STC8/STC32 的 串口/定时器/ADC 有问题
===STC应用人员说,他没发现啊
===那 老梁示波器不就是 STC8/STC32的 ADC 做的

soma 发表于 2024-6-22 19:53:12

用官方硬件范例读取不就知道U是否有问题了

梁工 发表于 2024-6-22 23:29:26

any8086 发表于 2024-5-15 15:25
STC单片机自带的AD就是有BUG,经常会随机出0,我用过好几款不同型号的单片机,都存在这个问题,但是他们 ...

“把输入信号换成5Khz方波信号,你看看AD测量出来的波形是不是5Khz方波,肯定不是5Khz方波了。”

你测试过吗?请将测试结果贴出。

网老四 发表于 2024-6-23 18:35:57

我的用户名 发表于 2023-12-23 08:55
采样部分代码如下,请大神们帮忙看看是不是有问题,谢谢!

u16 read_ADC10value()//读取ADC数值


我觉得应该把这个函数语句顺序优化下,你这函数,都启动转换了还在对ADC进行配置操作,这不合理.
先配置所有参数,特别是切换通道后需要等待ADC采样保持电路稳定再启动adc
再启动adc,转换结束后先把adc结果读到缓存变量再做其他处理.
不管哪个功能,只有满足使用条件下才能保证正常工作.

神农鼎 发表于 2024-6-23 20:26:00

转换结束后先把 ADC 结果读到缓存变量再做其他处理
===你不立即读走,有些设计是再次采样转换时
      先将转换结果寄存器清 0

VCC 发表于 2024-11-4 00:13:53

any8086 发表于 2024-4-16 15:23
这个问题时STC单片机自带AD的一个BUG,STC的绝大部分自带AD单片机型号都有这个BUG,AD采样数据都会随机出0 ...
这个问题的结论究竟如何呢?

代码里的用法不对?或者是硬件设计自身缺陷?
页: 1 2 [3] 4 5 6 7
查看完整版本: ADC采集为什么有时候是0?