版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第15章模拟/数字转换器(ADC)12位ADC是一种逐次逼近型模拟数字转换器。它有18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值值。一、ADC的构成1、主要特征12位分辨率转换结束,注入转换结束和发生模拟看门狗事件时产生中断单次和连续转换模式从通道0到通道n的自动扫描模式自校准带内嵌数据一致的数据对齐通道之间采样间隔可编程规则转换和注入转换均有外部触发选项间断模式双重模式(带2个ADC的器件)ADC转换速率1MHzADC供电要求:2.4V到3.6VADC输入范围:VREF-≤VIN≤VREF+规则通道转换期间有DMA请求产生。2、内部框图名称信号类型注解VREF+输入,模拟参考正极ADC使用的高端/正极参考电压,VSSA≤VREF+≤VDDAVDDA输入,模拟电源等效于VDD的模拟电源且:2.4V≤VDDA≤VDD(3.6V)VREF-输入,模拟参考负极ADC使用的低端/负极参考电压,VREF-=VSSAVSSA输入,模拟电源地等效于VSS的模拟电源地ADC_IN[15:0]模拟输入信号16个模拟输入通道EXTSEL[2:0]输入,数字开始规则成组转换的六个外部触发信号JEXTSEL[2:0]输入,数字开始注入成组转换的六个外部触发信号3、引脚描述二、ADC的功能描述1、ADC开关控制通过设置ADC_CR1寄存器的ADON位可给ADC上电。当第一次设置ADON位时,它将ADC从断电状态下唤醒;ADC上电延迟一段时间后(tSTAB),再次设置ADON位时开始进行转换;通过清除ADON位可以停止转换,并将ADC置于断电模式。2、ADC时钟 由时钟控制器提供的ADCCLK时钟和PCLK2(APB2时钟)同步,CLK控制器为ADC时钟提供一个专用的可编程预分频器。3、通道选择有16个多路通道。可以把转换分成两组:规则组和注入组。可以在任意多个通道上以任意顺序进行的一系列转换构成成组转换。例如,可以如下顺序完成转换:通道3、通道8、通道2、通道2、通道0、通道2、通道2、通道15。规则组由多达16个转换组成。规则通道和它们的转换顺序在ADC_SQRx寄存器中选择。规则组中转换的总数写入ADC_SQR1寄存器的L[3:0]位中。注入组由多达4个转换组成。注入通道和它们的转换顺序在ADC_JSQR寄存器中选择。注入组里的转换总数目写入ADC_JSQR寄存器的L[1:0]位中。温度传感器和通道ADC_IN16相连接,内部参考电压VREFINT和ADC_IN17相连接。可以按注入或规则通道对这两个内部通道进行转换。4、单次转换模式
单次转换模式里,ADC只执行一次转换。一旦选择通道的转换完成:如果一个规则通道被转换:转换数据被储存在16位ADC_DR寄存器中,EOC(转换结束)标志被设置,如果设置了EOCIE,则产生中断。如果一个注入通道被转换:转换数据被储存在16位的ADC_DRJ1寄存器中,JEOC(注入转换结束)标志被设置,如果设置了JEOCIE位,则产生中断。然后ADC停止。5、连续转换模式
在连续转换模式中,当前面ADC转换一结束马上就启动另一次转换。每个转换后:如果一个规则通道被转换:转换数据被储存在16位的ADC_DR寄存器中,EOC(转换结束)标志被设置,如果设置了EOCIE,则产生中断。如果一个注入通道被转换:转换数据被储存在16位的ADC_DRJ1寄存器中,JEOC(注入转换结束)标志被设置,如果设置了JEOCIE位,则产生中断。6、时序图
ADC在开始精确转换前需要一个稳定时间tSTAB
。在开始ADC转换和14个时钟周期后,EOC标志被设置,16位ADC数据寄存器包含转换的结果。8、扫描模式 此模式用来扫描一组模拟通道。在每个组的每个通道上执行单次转换,在每个转换结束时,同一组的下一个通道被自动转换。如果设置了CONT位,转换不会在选择组的最后一个通道上停止,而是再次从选择组的第一个通道继续转换。如果设置了DMA位,在每次EOC后,DMA控制器把规则组通道的转换数据传输到SRAM中。而注入通道转换的数据总是存储在ADC_JDRx寄存器中。三、校准ADC有一个内置自校准模式。校准可大幅减小因内部电容器组的变化而造成的准精度误差。通过设置ADC_CR2寄存器的CAL位启动校准。一旦校准结束,CAL位被硬件复位,可以开始正常转换。注意:
1、建议在每次上电后执行校准。2、启动校准前,ADC必须处于关电状态(ADON=’0’)超过至少两个ADC时钟周期。校准时间框图四、数据对齐 数据可以左对齐或右对齐。数据右对齐(注入组)数据右对齐(规则组)数据左对齐(注入组)数据左对齐(规则组)五、可编程的通道采样时间
ADC使用若干个ADC_CLK周期对输入电压采样,采样周期数目可以通过ADC_SMPR1和ADC_SMPR2寄存器中的SMP[2:0]位而更改。每个通道可以以不同的时间采样。总转换时间如下计算:
TCONV=采样时间+12.5个周期例如:当ADCCLK=14MHz,则1.5周期的采样时间TCONV=1.5+12.5=14周期=1µs七、DMA请求因为规则通道转换的值储存在一个唯一的数据寄存器中,所以当转换多个规则通道时需要使用DMA,这可以避免丢失已经存储在ADC_DR寄存器中的数据。只有在规则通道的转换结束时才产生DMA请求,并将转换的数据从ADC_DR寄存器传输到用户指定的目的地址。注入通道不能使用DMA。DMA请求映像
DMASWTRIGGERDMA请求ORADC1TIM2_CC3TIM4_CC1SWTRIGGERORUSART3_TXSWTRIGGERORSWTRIGGERORSWTRIGGERORSWTRIGGERORSWTRIGGEROR高优先级请求低优先级请求通道1TIM1_CC1TIM2_UPTIM3_CC3SPI1_RXUSART3_RXTIM1_CC2SPI1_TXTIM3_CC4TIM3_UPSPI2_RXI2C2_TXTIM1_CC4USART1_TXTIM1_CCUTIM1_TRIGTIM4_CC2USART1_RXTIM1_UPSPI2_TXI2C2_RXTIM2_CC1TIM4_CC3USART2_RXTIM1_CC3TIM3_CC1I2C1_TXTIM3_TRIGUSART2_TXTIM2_CC2TIM2_CC4TIM4_UPI2C1_RX通道2通道3通道4通道5通道6通道7八、温度传感器 温度传感器可以用来测量器件周围的温度(TA)。温度传感器在内部和ADC_IN16输入通道相连接,此通道把传感器输出的电压转换成数字值。温度传感器模拟输入的采样时间必须大于2.2µs。当温度传感器没有被使用时,可以置于关电模式。主要特征支持的温度范围:-40到125度精确度:+/-1.5°C温度传感器和VREFINT通道框图ADC_IN16(温度传感器)和ADC_IN17(VREFINT)的转换。读取温度的方法选择ADCx_IN16输入通道选择采样时间大于2.2μs设置TSVREFE位,以唤醒关电模式下的温度传感器通过设置ADON位启动ADC转换读ADC数据寄存器上的VSENSE
数据利用下列公式得出温度温度(°C)={(V25-VSENSE)/Avg_Slope}+25V25=VSENSE在25°C时的数值(典型值=1.42V,对应于对应0x6E2(1762D
))
Avg_Slope
=温度与VSENSE
曲线的平均斜率 (典型值=4.35mv/°C,对应于0x05/°C)九、中断 规则和注入组转换结束时能产生中断,当模拟看门狗状态位被设置时也能产生中断,它们都有独立的中断使能位。中断事件事件标志使能控制位规则组转换结束EOCEOCIE注入组转换结束JEOCJEOCIE设置模拟看门狗状态位AWDAWDIE十、ADC固件库函数
ADC_Init
的使用方法函数原形voidADC_Init(ADC_TypeDef*ADCx,ADC_InitTypeDef*ADC_InitStruct)功能描述根据ADC_InitStruct
结构的内容初始化ADCx
接口.输入参数1ADCx:其中x可以是1或2.输入参数2ADC_InitStruct:指向ADC_InitTypeDef
结构.ADC_InitTypeDef
结构:该结构定义在stm32f10x_adc.h文件中。typedef
struct{u32ADC_Mode;
FunctionalState
ADC_ScanConvMode;
FunctionalState
ADC_ContinuousConvMode;
u32ADC_ExternalTrigConv;
u32ADC_DataAlign;
u8ADC_NbrOfChannel;}ADC_InitTypeDef
ADC_Mode
参数配置ADC工作在单/双模式.ADC_Mode描述ADC_Mode_Independent
ADC1和ADC2工作在独立模式ADC_Mode_RegInjecSimult
ADC1和ADC2工作在同时规则注入模式ADC_Mode_RegSimult_AlterTrig
ADC1和ADC2工作在同时规则和交替触发模式ADC_Mode_InjecSimult_FastInterl
ADC1和ADC2工作在同时注入和快速交替模式ADC_Mode_InjecSimult_SlowInterl
ADC1和ADC2工作在同时注入和慢速交替模式ADC_Mode_InjecSimult
ADC1和ADC2工作在同时注入模式ADC_Mode_RegSimult
ADC1和ADC2工作在同时规则模式ADC_Mode_FastInterl
ADC1和ADC2工作在快速交替模式ADC_Mode_SlowInterl
ADC1和ADC2工作在慢速交替模式ADC_Mode_AlterTrig
ADC1和ADC2工作在交替触发模式ADC_ExternalTrigConv
参数设置规则通道使用外部触发启动ADC转换。ADC_ExternalTrigConv描述ADC_ExternalTrigConv_T1_CC1外部触发转换选用通用定时器1的捕获比较器1ADC_ExternalTrigConv_T1_CC2外部触发转换选用通用定时器1的捕获比较器2ADC_ExternalTrigConv_T1_CC3外部触发转换选用通用定时器1的捕获比较器3ADC_ExternalTrigConv_T2_CC2外部触发转换选用通用定时器2的捕获比较器2ADC_ExternalTrigConv_T3_TRGO外部触发转换选用通用定时器3的TRGOADC_ExternalTrigConv_T4_CC4外部触发转换选用通用定时器4的捕获比较器4ADC_ExternalTrigConv_Ext_IT11外部触发转换选用外部中断11事件ADC_ExternalTrigConv_None
软件启动转换ADC_ScanConvMode
参数指定ADC工作在扫描模式(多通道)还是单次(单通道)模式。如果设置为ENABLE,就是扫描模式,设置DISABLE就是单次模式.ADC_ContinuousConvMode
参数指定转换是连续的还是单次的。如设置ENABLE就是连续的,设置DISABLE是单次的.ADC_NbrOfChannel
参数指定使用序列规则组中ADC通道的数目.可以取1到16.ADC_DataAlign
参数指定数据对齐方式.ADC_DataAlign描述ADC_DataAlign_Right
ADC数据右对齐ADC_DataAlign_Left
ADC数据左对齐函数原形voidADC_RegularChannelConfig(ADC_TypeDef*ADCx,u8ADC_Channel,u8Rank,u8ADC_SampleTime)功能描述对选择的ADC规则通道配置转换次序和采样时间.输入参数1ADCx:其中x可以是1或2.输入参数2ADC_Channel:需要配置的ADC通道.输入参数3Rank:在规则组序列中的次序.范围是1到16.输入参数4ADC_SampleTime:选择通道的采样时间值.
ADC_RegularChannelConfig
的使用方法ADC_Channel
描述ADC_Channel_0选择ADC的通道0ADC_Channel_1选择ADC的通道1┅┅ADC_Channel_8选择ADC的通道8┅┅ADC_Channel_16选择ADC的通道16ADC_Channel_17选择ADC的通道17ADC_Channel
参数指定需要配置的ADC通道.ADC_SampleTime
参数指定选择通道的ADC采样时间.ADC_SampleTime描述ADC_SampleTime_1Cycles5采样时间是1.5周期ADC_SampleTime_7Cycles5采样时间是7.5周期
ADC_SampleTime_13Cycles5采样时间是13.5周期
ADC_SampleTime_28Cycles5采样时间是28.5周期
ADC_SampleTime_41Cycles5采样时间是41.5周期
ADC_SampleTime_55Cycles5采样时间是55.5周期ADC_SampleTime_71Cycles5采样时间是71.5周期
ADC_SampleTime_239Cycles5采样时间是239.5周期
ADC_AnalogWatchdogThresholdsConfig
的使用方法函数原形voidADC_AnalogWatchdogThresholdsConfig(ADC_TypeDef*ADCx,u16HighThreshold,u16LowThreshold)功能描述配置模拟看门狗的高低阈值
输入参数1ADCx:其中x可以是1或2.输入参数2HighThreshold:ADC的模拟看门狗高阈值.为12-bit值.输入参数3LowThreshold:ADC的模拟看门狗低阈值.为12-bit值.
ADC_AnalogWatchdogCmd
的使用方法函数原形voidADC_AnalogWatchdogCmd(ADC_TypeDef*ADCx,u32ADC_AnalogWatchdog)功能描述使能或禁止模拟看门狗在一个或所有的规则或注入通道输入参数1ADCx:其中x可以是1或2.输入参数2ADC_AnalogWatchdog:配置ADC的模拟看门狗.ADC_AnalogWatchdog
参数配置ADC的模拟看门狗.ADC_AnalogWatchdog描述ADC_AnalogWatchdog_SingleRegEnable
模拟看门狗在一个单独的规则通道上ADC_AnalogWatchdog_SingleInjecEnable
模拟看门狗在一个单独的注入通道上ADC_AnalogWatchdog_SingleRegorInjecEnable
模拟看门狗在一个单独的规则或注入通道上ADC_AnalogWatchdog_AllRegEnable
模拟看门狗在所有的规则通道上ADC_AnalogWatchdog_AllInjecEnable
模拟看门狗在所有的注入通道上ADC_AnalogWatchdog_AllRegAllInjecEnable
模拟看门狗在所有的规则和注入通道上ADC_AnalogWatchdog_None
模拟看门狗不监督任何通道
ADC_AnalogWatchdogSingleChannelConfig
的使用方法函数原形voidADC_AnalogWatchdogSingleChannelConfig(ADC_TypeDef*ADCx,u8ADC_Channel)功能描述配置模拟看门狗要监视的ADCx通道输入参数1ADCx:其中x可以是1或2.输入参数2ADC_Channel:需配置ADC的模拟看门狗通道.ADC_ITConfig
的使用方法函数原形voidADC_ITConfig(ADC_TypeDef*ADCx,u16ADC_IT,FunctionalState
NewState)功能描述使能或禁止指定的ADC中断输入参数1ADCx:其中x可以是1或2.输入参数2ADC_IT:指定ADC的中断源输入参数3NewState:ENABLE或DISABLEADC_IT描述ADC_IT_EOCEOC中断允许ADC_IT_AWDAWDOG中断允许ADC_IT_JEOCJEOC中断允许ADC_IT参数取下列值:
ADC_ResetCalibration
函数的使用方法
ADC_GetResetCalibrationStatus
函数的使用方法函数原形FlagStatus
ADC_GetResetCalibrationStatus(ADC_TypeDef*ADCx)功能描述得到ADC复位校准寄存器的状态输入参数ADCx:其中x可以是1或2返回参数SET或RESET函数原形voidADC_ResetCalibration(ADC_TypeDef*ADCx)功能描述复位校准寄存器输入参数ADCx:其中x可以是1或2
ADC_StartCalibration
函数的使用方法
ADC_SoftwareStartConvCmd
函数的使用方法函数原形voidADC_SoftwareStartConvCmd(ADC_TypeDef*ADCx,FunctionalState
NewState)功能描述使能或禁止ADCx的软件启动转换输入参数ADCx:其中x可以是1或2返回参数NewState:ENABLE或DISABLE函数原形voidADC_StartCalibration(ADC_TypeDef*ADCx)功能描述开始校准过程输入参数ADCx:其中x可以是1或2
ADC_DMACmd
函数的使用方法函数原形ADC_DMACmd(ADC_TypeDef*ADCx,FunctionalState
NewState)功能描述使能或禁止ADCDMA请求输入参数ADCx:其中x可以是1或2返回参数NewState:ENABLE或DISABLE函数原形voidADC_ClearITPendingBit(ADC_TypeDef*ADCx,u16ADC_IT)功能描述清除ADCx
的中断登记标志输入参数ADCx:其中x可以是1或2返回参数ADC_IT:需要清除的中断标志
ADC_ClearITPendingBit
函数的使用方法例:采用DMA通道1将ADC1的通道14的数据连续转换结果放到变量ADC_ConvertedValue中,采用软件启动,采样周期为55.5个周期。/*定义*/#defineADC1_DR_Address((u32)0x4001244C)/*定义变量和结构*/ADC_InitTypeDef
ADC_InitStructure;DMA_InitTypeDef
DMA_InitStructure;vu16ADC_ConvertedValue;ErrorStatus
HSEStartUpStatus;
/*DMA通道1初始化,因ADC1接在这个通道上*/DMA_DeInit(DMA_Channel1);
DMA_InitStructure.DMA_PeripheralBaseAddr =ADC1_DR_Address;
DMA_InitStructure.DMA_MemoryBaseAddr= (u32)&ADC_ConvertedValue;
DMA_InitStructure.DMA_DIR= DMA_DIR_PeripheralSRC;
DMA_InitStructure.DMA_BufferSize=1;
DMA_InitStructure.DMA_PeripheralInc= DMA_PeripheralInc_Disable;
DMA_InitStructure.DMA_MemoryInc= DMA_MemoryInc_Disable;DMA_InitStructure.DMA_PeripheralDataSize= DMA_PeripheralDataSize_HalfWord;DMA_InitStructure.DMA_MemoryDataSize= DMA_MemoryDataSize_HalfWord;DMA_InitStructure.DMA_Mode= DMA_Mode_Circular;DMA_InitStructure.DMA_Priority= DMA_Priority_High;DMA_InitStructure.DMA_M2M=DMA_M2M_Disable;DMA_Init(DMA_Channel1,&DMA_InitStructure);/*使能DMA通道1*/DMA_Cmd(DMA_Channel1,ENABLE);/*ADC1配置*/ADC_InitStructure.ADC_Mode= ADC_Mode_Independent;ADC_InitStructure.ADC_ScanConvMode=DISABLE;ADC_InitStructure.ADC_ContinuousConvMode= ENABLE;ADC_InitStructure.ADC_ExternalTrigConv= ADC_ExternalTrigConv_None;ADC_InitStructure.ADC_DataAlign= ADC_DataAlign_Right;ADC_InitStructure.ADC_NbrOfChannel=1;ADC_Init(ADC1,&ADC_InitStructure);/*配置ADC1规则通道14*/ADC_RegularChannelConfig(ADC1,ADC_Channel_14, 1,ADC_SampleTime_55Cycles5);/*使能ADC1的DMA*/ADC_DMACmd(ADC1,ENABLE);
/*使能ADC1*/ADC_Cmd(ADC1,ENABLE);/*使能ADC1的复位校准寄存器*/ADC_ResetCalibration(ADC1);/*检测ADC1的复位校准是否结束*/while(ADC_GetResetCalibrationStatus(ADC1));/*启动ADC1校准*/ADC_StartCalibration(ADC1);/*检测ADC1的校准是否结束*/while(ADC_GetCalibrationStatus(ADC1));
/*软件启动ADC1转换*/ADC_SoftwareStartConvCmd(ADC1,ENABLE);STM32实验平台上电位器的电路图是:STM32实验平台上CPU的管脚图是:GPIO的配置程序是:voidGPIO_Configuration(void){
GPIO_InitTypeDef
GPIO_InitStructure;/*配置PC.04(ADCChannel14)作为模拟输入*/
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN;
GPIO_Init(GPIOC,&GPIO_InitStructure);}在RCC配置程序里要开启DMA和AD的时钟
/*使能DMA时钟*/
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA, ENABLE);/*使能ADC1和GPIOC时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 |RCC_APB2Periph_GPIOC,ENABLE);例:采用ADC1的通道14进行数据连续转换,用模拟看门狗检测ADC1的通道14的模拟输入量(当ADC的模拟输入量在窗口之外,将点亮LED1灯),采用软件启动,采样周期为13.5个周期。/*定义结构*/ADC_InitTypeDef
ADC_InitStructure;
/*配置ADC1*/
ADC_InitStructure.ADC_Mode= ADC_Mode_Independent;
ADC_InitStructure.ADC_ScanConvMode=DISABLE;
ADC_InitStructure.ADC_ContinuousConvMode= ENABLE;
ADC_InitStructure.ADC_ExternalTrigConv= ADC_ExternalTrigConv_None;
ADC_InitStructure.ADC_DataAlign= ADC_DataAlign_Right;
ADC_InitStructure.ADC_NbrOfChannel=1;
ADC_Init(ADC1,&ADC_InitStructure);/*配置ADC1规则通道14*/ADC_RegularChannelConfig(ADC1,ADC_Channel_14, 1,ADC_SampleTime_13Cycles5);/*设置高低模拟看门狗阈值*/ADC_AnalogWatchdogThresholdsConfig(ADC1, 0x0B00,0x0300);/*配置通道14为单模拟看门狗保证通道*/ADC_AnalogWatchdogSingleChannelConfig(ADC1, ADC_Channel_14);/*在一个规则通道上使能模拟看门狗*/ADC_AnalogWatchdogCmd(ADC1, ADC_AnalogWatchdog_SingleReg(Enable);/*使能AWD中断*/ADC_ITConfig(ADC1,ADC_IT_AWD,ENABLE);/*使能ADC1*/ADC_Cmd(ADC1,ENABLE);/*使能ADC1复位校准寄存器*/ADC_ResetCalibration(ADC1);/*检测ADC1的复位校准寄存器结束*/while(ADC_GetResetCalibrationStatus(ADC1));/*启动ADC1校准*/ADC_StartCalibration(ADC1);/*检测ADC1校准结束*/while(ADC_GetCalibrationStatus(ADC1));/*用软件启动ADC1的数据转换*/ADC_SoftwareStartConvCmd(ADC1,ENABLE);/*ADC1的中断服务程序*/voidADC_IRQHandler(void){
…/*清ADC1的AWD中断登记位*/ADC_ClearITPendingBit(ADC1,ADC_IT_AWD);}STM32实验平台上电位器的电路图是:STM32实验平台上CPU的管脚图是:在GPIO配置程序中增加下列代码:/*配置PC.04(ADCChannel14)作为模拟输入*/
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN;
GPIO_Init(GPIOC,&GPIO_InitStructure);在RCC配置程序里要开启AD的时钟/*使能ADC1和GPIOC时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 |RCC_APB2Periph_GPIOC,ENABLE);在NVIC配置程序中增加下列代码:
/*配置和使能ADC中断*/
NVIC_InitStructure.NVIC_IRQChannel= ADC_IRQChannel;
NVIC_InitStructure.
NVIC_IRQChannelPreemptionPriority=0;
NVIC_InitStructure.
NVIC_IRQChannelSubPriority=0;
NVIC_InitStructure.NVIC_IRQChannelCmd= ENABLE;
NVIC_Init(&NVIC_InitStructure);例:采用DMA存储ADC1的64个采样点的值,选用ADC1的通道4和14为规则通道,ADC1的通道10和11为注入通道。规则通道采用间断模式,间断数为1,转换为外部触发EXTI-11,每次触发只转换一个通道;注入通道采用外部出发EXTI-15。转化时间均为28.5时钟周期,数据采用右对齐。/*定义*/#defineADC1_DR_Address((u32)0x4001244C)vu32Index=0;/*定义变量与结构*/ADC_InitTypeDef
ADC_InitStructure;DMA_InitTypeDef
DMA_InitStructure;vu16ADC_RegularConvertedValueTab[64],ADC_InjectedConvertedValueTab[32];ErrorStatus
HSEStartUpStatus;
/*配置DMA通道1*/DMA_DeInit(DMA_Channel1);
DMA_InitStructure.DMA_PeripheralBaseAddr= ADC1_DR_Address;
DMA_InitStructure.DMA_MemoryBaseAddr= (u32)ADC_RegularConvertedValueTab;
DMA_InitStructure.DMA_DIR= DMA_DIR_PeripheralSRC;
DMA_InitStructure.DMA_BufferSize=64;
DMA_InitStructure.DMA_PeripheralInc= DMA_PeripheralInc_Disable;
DMA_InitStructure.DMA_MemoryInc= DMA_MemoryInc_Enable;
DMA_InitStructure.DMA_PeripheralDataSize= DMA_PeripheralDataSize_HalfWord;
DMA_InitStructure.DMA_MemoryDataSize= DMA_MemoryDataSize_HalfWord;
DMA_InitStructure.DMA_Mode= DMA_Mode_Circular;
DMA_InitStructure.DMA_Priority= DMA_Priority_High;
DMA_InitStructure.DMA_M2M= DMA_M2M_Disable;DMA_Init(DMA_Channel1,&DMA_InitStructure);
/*使能DMA通道1*/DMA_Cmd(DMA_Channel1,ENABLE);
/*配置ADC1*/
ADC_InitStructure.ADC_Mode= ADC_Mode_Independent;
ADC_InitStructure.ADC_ScanConvMode=ENABLE;
ADC_InitStructure.ADC_ContinuousConvMode= DISABLE;
ADC_InitStructure.ADC_ExternalTrigConv= ADC_ExternalTr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 心血管疾病个体化营养干预策略
- 心脏靶向基因编辑递送策略
- 心胸外科术后重症监护团队协作效率提升策略-1
- 心理支持与治疗依从性提升策略
- 心理科护士的沟通能力培养策略
- 微创神经外科手术器械的创新与进展
- 微创手术患者术后认知功能动态监测
- 微创手术后炎症因子与疼痛的相关性研究
- 循证医学实践中的证据质量与伦理考量
- 影像组学在银屑病精准评估中的价值
- 交通运输行业数据集建设实施方案
- 年会礼仪小姐培训
- GB/T 5617-2025钢件表面淬火硬化层深度的测定
- 神经介入进修汇报课件
- 感染患者终末消毒操作规范
- 学生公寓物业管理服务服务方案投标文件(技术方案)
- 脑供血不足病人的护理查房-课件
- 文控文员工作总结
- 团体团建跳舞活动方案
- 食品加工企业主要管理人员及工程技术人员的配备计划
- 儿童语言发育迟缓课件
评论
0/150
提交评论