标题: 关于STM8S单片机手册中ADC说明与例程不一致的问题 [打印本页]

作者: xfxy_008    时间: 2017-7-20 09:59
标题: 关于STM8S单片机手册中ADC说明与例程不一致的问题
本帖最后由 xfxy_008 于 2017-7-20 10:03 编辑

各位大神,小弟刚开始使用STM8S系列,关于ADC部分中的数据寄存器ADC_DRH、ADC_DRL,手册中说如果配置成左对齐,必须先读高8位,再读低位;如果配置成右对齐,必须先读低8位,再读高位。但是所有的关于ADC的例程中配置成为右对齐,都是先对高位,再读低位,这是为什么?请大神给解释一下。

QQ图片20170720095317.png (80.62 KB, 下载次数: 46)

QQ图片20170720095317.png

QQ图片20170720095333.png (79.98 KB, 下载次数: 60)

QQ图片20170720095333.png

QQ图片20170720095648.png (21.16 KB, 下载次数: 50)

QQ图片20170720095648.png

QQ图片20170720095902.png (21.57 KB, 下载次数: 66)

QQ图片20170720095902.png

作者: yzwzfyz    时间: 2017-7-21 00:38
查一下手册,
1、高低位在读出后,只要其值不会改变,则无所谓先后次序。
2、如果读了一个,另一个在未读前会改变,则才会有次序之分。
     连续自动采样时,才会自动更改采样值,而你偏偏在它刷新采样值的过程中,取其数据。设计者为了防止这种情况出现,可能增加了延时更新,比如当你读一个值时,另一个值就暂停一断时间再更新。这仅是猜测,具体如何做,只能看手册。
     单次采样,只要你未下达采样命令,则其值不会改变的。
左对齐,先读高位的好处是,读了高位后,即使低位被刷新了,影响也不大,致少高8位已OK,低几位误差也不大了。
作者: xfxy_008    时间: 2017-7-21 11:25
yzwzfyz 发表于 2017-7-21 00:38
查一下手册,
1、高低位在读出后,只要其值不会改变,则无所谓先后次序。
2、如果读了一个,另一个在未读 ...

我猜也是这样,在没有开始新的采样之前,高低位的数据寄存器的值应该是保持不变。
只是疑惑手册中专门强调了先后,以为会有问题。。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1