清风迎明月 发表于 2024-4-24 14:21:00

关于STC8H中ADC扩展配置寄存器ADCEXCFG的使用问题


请教个问题,
STC8H8K64U单片机,在使用ADC时,配置了ADCTIM = 0x3f,
同时又配置了ADC扩展配置寄存器ADCEXCFG,


ADCEXCFG=0x07,即16次采样后取平均值,


问题1:这个转换时间是不是是16次转换所需时间?
问题2:ADC_RES和ADC_RESL存放是这个平均值吗?
问题3:平均值的计算是在硬件中完成的吗?

_奶咖君_ 发表于 2024-4-24 14:54:06

1.我的理解是,配置的转换时间是单次转换的时间。不是16次的总时间。
2.是的存放的是这个平均值。
3.是在硬件中计算完成。

如果我有错误请回复我。。{:4_201:}

清风迎明月 发表于 2024-4-24 15:19:18

如果是单次转换时间,那么单次转换结束还会不会把ADC_FLG置1?
如果置1就意味着转换结束?
不置1,怎么知道单次转换结束,再取走转换结果?

_奶咖君_ 发表于 2024-4-24 15:23:39

清风迎明月 发表于 2024-4-24 15:19
如果是单次转换时间,那么单次转换结束还会不会把ADC_FLG置1?
如果置1就意味着转换结束?
不置1,怎么知道 ...

手册里面写了啊ADC中断标志只会在ADC自动转换到设置的次数后,才会被置1.

_奶咖君_ 发表于 2024-4-24 15:26:14

清风迎明月 发表于 2024-4-24 15:19
如果是单次转换时间,那么单次转换结束还会不会把ADC_FLG置1?
如果置1就意味着转换结束?
不置1,怎么知道 ...

要设置了求平均次数,,这里就是硬件采集完,求完平均之后再给你置位。这里读取的就是平均值。
你要是就要单次采集的,,你干嘛设置求平均啊。。

清风迎明月 发表于 2024-4-24 15:40:10

_奶咖君_ 发表于 2024-4-24 15:23
手册里面写了啊ADC中断标志只会在ADC自动转换到设置的次数后,才会被置1.
...
谢谢,明白了,我是没注意到手册里这个知识点

清风迎明月 发表于 2024-4-24 16:00:26

想想这个功能挺好,硬件实现难度不大,转换2,4,8,16次时刚好把结果寄存器中的值逐次右移1位{:4_174:},如果取3,5,7等奇数次就麻烦了

_奶咖君_ 发表于 2024-4-24 16:24:05

清风迎明月 发表于 2024-4-24 16:00
想想这个功能挺好,硬件实现难度不大,转换2,4,8,16次时刚好把结果寄存器中的值逐次右移1位,如果取3,5,7等 ...

是的,,咱们自己软件实现的话,,如果是按照 这个 2 4 6 8.... 也就是这种算法了{:4_200:}
页: [1]
查看完整版本: 关于STC8H中ADC扩展配置寄存器ADCEXCFG的使用问题