• 大小: 2.14MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-10
  • 语言: 其他
  • 标签: stm32f4  ADC  RegSimult  

资源简介

对两路信号进行ADC同时采样。由于一路信号将作为参考信号解调另一路信号,所以要确保两路信号的每次采样是同时进行的。所以,需要将ADC设置成“多重ADC模式”中的“规则同时模式”下的“双重ADC模式”(ADC_DualMode_RegSimult)。由于待采样的信号心率范围不确定,但是又要求每次采样之间的时间间隔较为精确,故需要ADC采样率可调但是又不能简单的使用delay()函数,所以要求ADC的每次转换由定时器触发(ADC_ExternalTrigConvEdge_Rising)。 资源参考:https://blog.csdn.net/kai73/article/details/86763320

资源截图

代码片段和文件信息

/**
  ******************************************************************************
  * @file    ADC/ADC_DualModeRegulSimu/main.c 
  * @author  MCD Application Team
  * @version V1.8.0
  * @date    04-November-2016
  * @brief   Main program body
  ******************************************************************************
  * @attention
  *
  * 

© COPYRIGHT 2016 STMicroelectronics


  *
  * Licensed under MCD-ST Liberty SW License Agreement V2 (the “License“);
  * You may not use this file except in compliance with the License.
  * You may obtain a copy of the License at:
  *
  *        http://www.st.com/software_license_agreement_liberty_v2
  *
  * Unless required by applicable law or agreed to in writing software 
  * distributed under the License is distributed on an “AS IS“ BASIS 
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  *
  ******************************************************************************
  */

/* Includes ------------------------------------------------------------------*/
#include “main.h“

/** @addtogroup STM32F4xx_StdPeriph_Examples
  * @{
  */

/** @addtogroup ADC_DualModeRegulSimu
  * @{
  */ 

/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
__IO uint16_t aADCDualConvertedValue[4];

/* Private function prototypes -----------------------------------------------*/
static void DMA_Config(void);
static void GPIO_Config(void);
static void ADC1_CH10_CH11_Config(void);
static void ADC2_CH11_CH12_Config(void);

/* Private functions ---------------------------------------------------------*/

/**
  * @brief  Main program
  * @param  None
  * @retval None
  */
int main(void)
{
  ADC_CommonInitTypeDef ADC_CommonInitStructure;
  
  /*!< At this stage the microcontroller clock setting is already configured 
       this is done through SystemInit() function which is called from startup
       files (startup_stm32f40_41xxx.s/startup_stm32f427_437xx.s/startup_stm32f429_439xx.s)
       before to branch to application main. 
       To reconfigure the default setting of SystemInit() function refer to
       system_stm32f4xx.c file
     */

  /* Enable peripheral clocks *************************************************/
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2 ENABLE);
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC2 ENABLE);
    
  /* DMA2 Stream0 channel0 configuration **************************************

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-02-05 20:50  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\
     目录           0  2019-02-05 20:46  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\ADC_DualModeRegulSimu\
     文件        8160  2016-11-05 01:32  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\ADC_DualModeRegulSimu\main.c
     文件        2377  2016-11-05 01:32  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\ADC_DualModeRegulSimu\main.h
     文件        4515  2016-11-05 01:32  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\ADC_DualModeRegulSimu\readme.txt
     文件       35840  2016-11-05 01:32  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\ADC_DualModeRegulSimu\simulation.xls
     文件        4492  2016-11-05 01:32  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\ADC_DualModeRegulSimu\stm32f4xx_conf.h
     文件        4463  2016-11-05 01:32  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\ADC_DualModeRegulSimu\stm32f4xx_it.c
     文件        2207  2016-11-05 01:32  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\ADC_DualModeRegulSimu\stm32f4xx_it.h
     文件       29386  2016-11-05 01:32  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\ADC_DualModeRegulSimu\system_stm32f4xx.c
     目录           0  2019-02-05 20:45  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\
     目录           0  2019-02-05 20:45  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\CORE\
     文件      109142  2016-04-15 22:03  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\CORE\core_cm4.h
     文件       22735  2016-04-15 22:03  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\CORE\core_cm4_simd.h
     文件       17146  2016-04-15 22:03  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\CORE\core_cmFunc.h
     文件       20513  2016-04-15 22:03  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\CORE\core_cmInstr.h
     文件       29605  2016-04-15 22:03  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\CORE\startup_stm32f40_41xxx.s
     目录           0  2019-02-05 20:45  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\FWLIB\
     目录           0  2019-02-05 20:45  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\FWLIB\inc\
     文件        6924  2016-04-15 22:03  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\FWLIB\inc\misc.h
     文件       32880  2016-04-15 22:03  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\FWLIB\inc\stm32f4xx_adc.h
     文件       27318  2016-04-15 22:03  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\FWLIB\inc\stm32f4xx_can.h
     文件        2416  2016-04-15 22:03  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\FWLIB\inc\stm32f4xx_crc.h
     文件       14481  2016-04-15 22:03  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\FWLIB\inc\stm32f4xx_cryp.h
     文件       14946  2016-04-15 22:03  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\FWLIB\inc\stm32f4xx_dac.h
     文件        4296  2016-04-15 22:03  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\FWLIB\inc\stm32f4xx_dbgmcu.h
     文件       12977  2016-04-15 22:03  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\FWLIB\inc\stm32f4xx_dcmi.h
     文件       28882  2016-04-15 22:03  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\FWLIB\inc\stm32f4xx_dma.h
     文件       19692  2016-04-15 22:03  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\FWLIB\inc\stm32f4xx_dma2d.h
     文件        8012  2016-04-15 22:03  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\FWLIB\inc\stm32f4xx_exti.h
     文件       24467  2016-04-15 22:03  stm32f407实现定时器3(Timer3)触发ADC双通道同时采样(ADC_DualMode_RegSimult)并在DMA中断读取每次转换的结果\myTest-20190203-dualADCandTimerTrigAndDMAinterrOk\FWLIB\inc\stm32f4xx_flash.h
............此处省略417个文件信息

评论

共有 条评论