梁工
发表于 2023-3-8 16:43:41
这是我写的验证程序,1秒唤醒,醒来只读一次ADC。输入VCC4.28V,ADC读出计算4.27V,非常精确。
梁工
发表于 2023-3-8 16:45:24
测试了延时1ms,结果一样,4.27V。
上贴的程序,楼主可以直接下载HEX文件测试。
980578873
发表于 2023-3-8 16:47:36
神农鼎 发表于 2023-3-8 14:44
没200mS那么夸张
见如下截图,SPEED等于多少,怎么计算,谢谢。
980578873
发表于 2023-3-8 16:49:49
梁工 发表于 2023-3-8 16:45
测试了延时1ms,结果一样,4.27V。
上贴的程序,楼主可以直接下载HEX文件测试。
...
好的,你程序里面的采样时间设置多少?我去下载测试看看。
梁工
发表于 2023-3-8 16:54:12
980578873 发表于 2023-3-8 16:49
好的,你程序里面的采样时间设置多少?我去下载测试看看。
采样时间10,基本是最小的了。
#define MAIN_Fosc 11059200L //定义主时钟
#define ADC_SPEED 3 /* 0~15, ADC时钟 = SYSclk/2/(n+1) */
#define RES_FMT (1<<5) /* ADC结果格式 0: 左对齐, ADC_RES: D9 D8 D7 D6 D5 D4 D3 D2, ADC_RESL: D1 D0 000000 */
/* 1: 右对齐, ADC_RES: 000000D9 D8, ADC_RESL: D7 D6 D5 D4 D3 D2 D1 D0 */
#define CSSETUP (0<<7) /* 0~1,ADC通道选择时间 0: 1个ADC时钟, 1: 2个ADC时钟,默认0(默认1个ADC时钟) */
#define CSHOLD (1<<5) /* 0~3,ADC通道选择保持时间(n+1)个ADC时钟, 默认1(默认2个ADC时钟) */
#define SMPDUTY 10 /* 10~31, ADC模拟信号采样时间(n+1)个ADC时钟, 默认10(默认11个ADC时钟) */
/* ADC转换时间: 10位ADC固定为10个ADC时钟, 12位ADC固定为12个ADC时钟. */
神农鼎
发表于 2023-3-8 18:30:30
点击这个右边的回型针可以插入【附件,如PDF】
神农鼎
发表于 2023-3-8 18:32:37
点击右上角的【高级模式】可以直接贴图
我一般建议用户上原理图的PDF, 这样1次就上全图了,也清晰,免得反复问
神农鼎
发表于 2023-3-8 18:35:33
梁工 发表于 2023-3-8 16:45
测试了延时1ms,结果一样,4.27V。
上贴的程序,楼主可以直接下载HEX文件测试。
...
我估计200uS 也是一样