其一就是通过直接配置寄存器触发,通过配置控制寄存器CR2的ADON位,写1时开始转换,写0时停止转换。在程序运行过程中只要调用库函数,将CR2寄存器的ADON位置1就可以进行转换,比较好理解。 另外,还可以通过内部定时器或者外部IO触发转换,也就是说可以利用内部时钟让ADC进行周期性的转换,也可以利用外部IO使ADC在需要时转换,...
其一就是通过直接配置寄存器触发,通过配置控制寄存器CR2的ADON位,写1时开始转换,写0时停止转换。在程序运行过程中只要调用库函数,将CR2寄存器的ADON位置1就可以进行转换,比较好理解。 另外,还可以通过内部定时器或者外部IO触发转换,也就是说可以利用内部时钟让ADC进行周期性的转换,也可以利用外部IO使ADC在需要时转换,...
ADC_SR寄存器是ADC状态寄存器,用于存放ADC转换过程中的各种状态位。 图4:ADC_SR寄存器 关于ADC_CR1寄存器: ADC_CR1寄存器设置扫描模式、中断允许(转换结束、注入转换结束、模拟看门狗)、双模式选择(常用独立模式)等。 图5:ADC_CR1寄存器 关于ADC_CR2寄存器: ADC_CR2寄存器设置数据对齐方式、连续转换位、ADC启动位、...
可以通过 ADC_CR2 寄存器的SWSTART 位(只适用于规则通道)启动,也可以通过外部触发启动(适用于规则通道和注入通道),这时 CONT 位为 0。以规则通道为例,一旦所选择的通道转换完成,转换结果将被存在 ADC_DR 寄存器中,EOC(转换结束)标志将被置位,如果设置了 EOCIE,则会产生中...
二、ADC寄存器介绍 1. 控制寄存器(ADC_CR1 和 ADC_CR2) ADC_CR1 : 地址偏移:0x04 复位值:0x0000 0000 ADC_CR2 : 地址偏移:0x08 复位值:0x0000 0000 2. 采样事件寄存器(ADC_SMPR1 和 ADC_SMPR2) ADC_SMPR1: 地址偏移:0x0C 复位值:0x0000 0000 ...
另外,还可以通过内部定时器或者外部IO触发转换,也就是说可以利用内部时钟让ADC进行周期性的转换,也可以利用外部IO使ADC在需要时转换,具体的触发由控制寄存器CR2决定。 ADC_CR2寄存器的详情如下: 5.转换时间 还有一点,就是转换时间的问题,ADC的每一次信号转换都要时间,这个时间就是转换时间,转换时间由输入时钟和采样周...
1.在ADC_CR1寄存器中:设置独立模式(DUALMOD[3:0]:双模式选择 ),不使用扫描模式,允许产生EOC中断...其余默认就行 2.在ADC_CR2寄存器中:位SWSTART(开始转换规则通道,要转换时设置1),不用外部事件启动转换,位EXTSEL[2:0](选择启动规则通道组转换的外部事件,选择 111,软件触发),数据右对齐(左右随意),不使用DM...
由于STM32的ADC是12位逐次逼近型的模拟数字转换器,而数据保存在16位寄存器中。所以,ADC_CR2寄存器中的ALIGN位选择转换后数据储存的对齐方式。数据可以左对齐或右对齐,如下图所示: 注入组通道转换的数据值已经减去了在ADC_JOFRx寄存器中定义的偏移量,因此结果可以是一个负值。SEXT位是扩展的符号值。
STM32的ADC在单次转换模式下,只执行一次转换,该模式可以通过ADC_CR2寄存器的ADON位(只适用于规则通道)启动,也可以通过外部触发启动(适用于规则通道和注入通道),这是CONT位为0。以规则通道为例,一旦所选择的通道转换完成,转换结果将被存在ADC_DR寄存器,EOC(转换结束)标志将被置位,如果设置了EOCIE,则会产生中断。
可通过将 ADC_CR2 寄存器中的 ADON 位置 1 来为 ADC 供电。首次将 ADON 位置 1 时,会将 ADC 从掉电模式中唤醒。 SWSTART 或 JSWSTART 位置 1 时,启动 AD 转换。 可通过将 ADON 位清零来停止转换并使 ADC 进入掉电模式。在此模式下,ADC 几乎不耗电(只有几 μA) ...