Inver1688 发表于 2023-8-14 13:21:06

L1L3A代码IRC 11.0295M且P13单独的AD口 这个压缩包里面有串口助手数据 我是单独在这个口外接可调电阻分压给ADC3口的 为什么有的时候会出现0?

Inver1688 发表于 2023-8-14 13:21:42

梁工 发表于 2023-8-14 13:04
直接下载HEX文件测试,串口助手观察结果!做平均值是为了对信号滤波(这是通用测试程序,避免有的用户输入 ...

梁工 我在下面上传了程序 麻烦帮忙看看 谢谢

Inver1688 发表于 2023-8-14 14:04:54

Inver1688 发表于 2023-8-14 13:21
梁工 我在下面上传了程序 麻烦帮忙看看 谢谢

程序在楼上 L1L3A帮忙看看 谢谢 串口打印会出现0其他值可以 谢谢
示波器观察单片机电源以及AD输入都很稳

Inver1688 发表于 2023-8-14 14:24:01

梁工 发表于 2023-8-14 13:04
直接下载HEX文件测试,串口助手观察结果!做平均值是为了对信号滤波(这是通用测试程序,避免有的用户输入 ...

我单独外接可调电阻的分压 会时不时出现0值 其他值还算可以 其他板子会有的时候出现高值

Inver1688 发表于 2023-8-14 14:30:27

梁工 发表于 2023-8-14 13:04
直接下载HEX文件测试,串口助手观察结果!做平均值是为了对信号滤波(这是通用测试程序,避免有的用户输入 ...

C:\Users\Administrator\Desktop\ADC03.png

Inver1688 发表于 2023-8-14 14:32:04

梁工 发表于 2023-8-14 13:04
直接下载HEX文件测试,串口助手观察结果!做平均值是为了对信号滤波(这是通用测试程序,避免有的用户输入 ...

此外你发的程序,程序采取的是查询模式 发现平均值637 557 按道理不应该差别这么大的 是不是芯片自己的bug ?

Inver1688 发表于 2023-8-14 14:33:08

梁工 发表于 2023-8-14 10:59
100%使用的问题,没用对。STC8系列的MCU是非常优秀的,精度高,噪声低。
你可以使用我的例程测试,直接下 ...

用这个程序测试可 发现AD值 637 557 平均值都差这么多?

梁工 发表于 2023-8-14 15:01:57

Inver1688 发表于 2023-8-14 14:33
用这个程序测试可 发现AD值 637 557 平均值都差这么多?

请明确告知你要那个ADC输入?你程序太乱,初始化:
        ADC_CONTR = ADC_POWER |ADC_START| AD_CHS1;//AD_INNER;//AD_CHS2;//ADC_START           ADC0并且开启转换
ADC中断:
        ADC_CONTR = 0xc3;
两个操作不同,请告诉我i实际要哪个输入的?我写一个测试好给你。

你的程序有一个很大的问题,就是不断地做ADC,几个us一次,程序前后台操作ADC_L1_L3,又没有保证信息的不变性(即中断操作时,主程序不能操作,主程序操作时,中断不能操作,否则你就会乱)。
应该中断设置标志,主程序处理完成后清除标志,中断中发现标志未清除,则不操作ADC_L1_L3。
你应该根据项目要求的ADC速度,用定时器或PWM来触发。

Inver1688 发表于 2023-8-14 15:08:36

梁工 发表于 2023-8-14 15:01
请明确告知你要那个ADC输入?你程序太乱,初始化:
        ADC_CONTR = ADC_POWER |ADC_START| AD_CHS1;//AD_I ...

ADC是ADC3口 且整个中断程序都是ADC_CONTR = 0xc3;
主程序操作只是读取数据 打印数据 并没改变数据
此外你发的程序
STC8G系列-ADC相关程序\ADC相关程序-STC8G2K64Sx-48PIN\01-15路ADC转换-BandGap-串口1(P3.1)返回结果-C语言
整个打印出来的值ADC03=0637ADC03=0557
STC8G系列-ADC相关程序打印出的AD值都差别这么大说明单次取值肯定有小的值出现
STC8G系列-ADC相关程序整个程序应该不是us级运行的
目前官方程序也不行

Inver1688 发表于 2023-8-14 15:10:38

梁工 发表于 2023-8-14 15:01
请明确告知你要那个ADC输入?你程序太乱,初始化:
        ADC_CONTR = ADC_POWER |ADC_START| AD_CHS1;//AD_I ...

我按照你发的程序来 串口打印
ADC03=0637
ADC03=0557
其他无关的AD值我没写出来
请问两者差别这么大的AD值能用?
页: 1 [2] 3 4
查看完整版本: STC8G2K64S4的AD采集有时采集的数据偏大 | 已解决