历史上的今天
今天是:2024年09月16日(星期一)
2019年09月16日 | STM8S学习02——ADC
2019-09-16 来源:eefocus
一、ADC_转换模式
1、ADC支持5种转换模式:单次模式,连续模式,带缓存的连续模式,单次扫描模式,连续扫描模式。
2、单次模式
在单次转换模式中, ADC仅在由ADC_CSR寄存器的CH[3:0]选定的通道上完成一次转换。
该模式是在当CONT位为0时通过置位ADC_CR1 寄存器的ADON位来启动的。
一旦转换完成,转换后的数据存储在ADC_DR寄存器中, EOC(转换结束)标志被置位,如果EOCIE被置位将产生一个中断。
3、连续和带缓存的连续模式
在连续转换模式中,ADC在完成一次转换后就立刻开始下一次的转换。当CONT位被置位时即将ADC设为连续模式,该模式是通过置位
ADC_CR1寄存器的 ADON 位来启动的。
(1)如果缓冲功能没有被使能(ADC_CR3寄存器的 DBUF 位 = 0),那么转换结果数据保存在ADC_DR寄存器中同时EOC标志被置位。
如果EOCIE位已被置位将产生一次中断。然后开始下一次转换。
(2)如果缓存功能被使能(DBUF=1),那么某个选定通道上的 8 个或者 10 个连续的转换结果会填满数据缓存,当缓存被填满时,EOC(转换结束)自动开始标志被置位,如果EOCIE位已被置位,则会产生一个中断,然后一个新的转换自动开始。如果某个数据缓存器在被读走之前被覆盖,OVR标志将置1。
4、单次扫描模式
(1)该模式是用来转换从 AIN0 到 AINn 之间的一连串模拟通道,‘n’是在 ADC_CSR寄存器的CH[3:0]位中指定的通道编号。在扫描转换的过程中,序号 CH[3:0]位的值是被硬件自动更新的,他总保存当前正在被转换的通道编号。
(2)单次转换模式可以在SCAN位被置位且CONT位已被清零时通过置位ADON位来启动。
注意:当使用扫描模式时,不可以将 AIN0 到 AINn 之间通道对应的 I/O 口设为输出状态,因为ADC的多路选择器已经将这些 I/O 口的输出模块禁用了。
对于单次扫描模式,转换是从 AIN0 通道开始的,而且结果数据被存储在数据缓冲寄存器 ADC_DBxR 中,当最后一个通道(通道'n')被转换完成后,EOC(转换结束)标志被置位,当EOCIE位已被置位时将产生一个中断
史海拾趣
|
DS32安装SOFTICE错误 我在虚拟机上装了DS32,可是自带的SOFTICE无法使用SYMBOL LOADER,一载入就报错,我按网上的牛人说的,卸载后重装,把SOFTICE选项去掉,然后装完后再单装这个,还是不成。 然后又卸载掉,再装,仍然不带SOFTICE,然后从网上 ...… 查看全部问答> |
|
小弟最近写了个程序,感觉没什么错误,但就是不能通过编译。期高手指点。小弟在此先谢谢啦!程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY Controller ISPORT(--控制 ...… 查看全部问答> |
|
最近在找相关的产品。不知道大家对带蓝牙传输技术的医疗电子器械的价格是否有所了解?比如心电图机,血压计,血氧计之类的?如果是家用的话,感觉应该是很便宜的,技术含量比较低的。… 查看全部问答> |
|
launchpad里面的math.h的开方函数不能调用,无法开方 各位大神们,求助啊。launchpad里面的math.h的开方函数不能调用,一调用就出错。怎么才能用launchpad实现开方函数啊?… 查看全部问答> |




