91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1016KB
    文件類型: .7z
    金幣: 1
    下載: 0 次
    發布日期: 2023-10-26
  • 語言: 其他
  • 標簽: 多路AD??

資源簡介

在用STM32做開發或學習的時候難免需要同時采集多路AD信號,在此僅以兩路AD配置為例,多路AD按照相同的方法配置。

資源截圖

代碼片段和文件信息

/*********************************************************************************
???*??????Copyright:??(C)?2016?SCUEC
???*??????????????????All?rights?reserved.
???*
???*???????Filename:??stm32_adc.c
???*????Description:?
???*
???*????????Version:??1.0.0(31/10/16)
???*?????????Author:??LI?WJNG?
???*??????ChangeLog:??1?Release?initial?version?on?“31/10/16?17:59:18“
???*
???********************************************************************************/


#include?“stm32f4_adc.h“
#define??ADC1_DR_ADDRESS?????????((uint32_t)0x4001204C)?//ADC1?DR寄存器基地址
extern?u16?ADCvalue[2];//兩路DMA通道



void?ADC_config(void)
{

??ADC_InitTypeDef???????ADC_InitStructure;
?
??ADC_CommonInitTypeDef?ADC_CommonInitStructure;
?
??GPIO_InitTypeDef??????GPIO_InitStructure;
??
??RCC_AHB1PeriphClockCmd(?RCC_AHB1Periph_GPIOA?ENABLE);

??RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1?ENABLE);

??GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_6|GPIO_Pin_4;? //配置PA6?和?PA4?分別為AD通道6和通道4的輸入
??GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_AN;??
??GPIO_InitStructure.GPIO_PuPd?=?GPIO_PuPd_NOPULL?;??
??GPIO_Init(GPIOA?&GPIO_InitStructure);


??RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC1?ENABLE);

??RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC1?DISABLE);??
?
??ADC_CommonInitStructure.ADC_Mode?=?ADC_Mode_Independent;
??
??ADC_CommonInitStructure.ADC_Prescaler?=?ADC_Prescaler_Div4;
??
??ADC_CommonInitStructure.ADC_DMAAccessMode?=?ADC_DMAAccessMode_2;
??
??ADC_CommonInitStructure.ADC_TwoSamplingDelay?=?ADC_TwoSamplingDelay_5Cycles;
??
??ADC_CommonInit(&ADC_CommonInitStructure);
?
??ADC_InitStructure.ADC_Resolution?=?ADC_Resolution_12b;?
??
??ADC_InitStructure.ADC_ScanConvMode?=?ENABLE;//開啟掃描模式
??
??ADC_InitStructure.ADC_ContinuousConvMode?=?ENABLE;//開啟連續轉換
??
??ADC_InitStructure.ADC_ExternalTrigConvEdge?=?ADC_ExternalTrigConvEdge_None;

??ADC_InitStructure.ADC_DataAlign?=?ADC_DataAlign_Right;
??
??ADC_InitStructure.ADC_NbrOfConversion?=?2;//設定要轉換的AD通道數目
??
??ADC_Init(ADC1?&ADC_InitStructure);

??/*******配置ADC1的通道6和通道4的轉換先后順序以及采樣間隔時間為15個采樣周期*******/
?ADC_RegularChannelConfig(ADC1?ADC_Channel_6?1?ADC_SampleTime_15Cycles);
?ADC_RegularChannelConfig(ADC1?ADC_Channel_4?2?ADC_SampleTime_15Cycles);
?

??ADC_DMARequestAfterLastTransferCmd(ADC1?ENABLE);

??ADC_DMACmd(ADC1?ENABLE);??

??ADC_Cmd(ADC1?ENABLE);
??
??ADC_SoftwareStartConv(ADC1);

}




void?DMA_config(void)
{
??DMA_InitTypeDef??????DMA_InitStructure;

??RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2?ENABLE);
DMA_DeInit(DMA2_Stream0);
??DMA_InitStructure.DMA_Channel?=?DMA_Channel_0;??
??DMA_InitStructure.DMA_PeripheralbaseAddr?=?(uint32_t)ADC1_DR_ADDRESS;
??DMA_InitStructure.DMA_Memory0baseAddr?=?(uint32_t)&ADCvalue;
??DMA_InitStructure.DMA_DIR?=?DMA_DIR_PeripheralToMemory;
??DMA_InitStructure.DMA_BufferSize?=?2; //設定要轉換的DMA通道數目
??DMA_InitStructure.DMA_PeripheralInc?=?DMA_PeripheralInc_Disable;
??DMA_InitStructur

評論

共有 條評論