青风独家-stm32f0中文-第十节adc采样dma通道_第1页
青风独家-stm32f0中文-第十节adc采样dma通道_第2页
青风独家-stm32f0中文-第十节adc采样dma通道_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

青风手把你学stm32f051系列 库函数操作版2.2ADC采样/DMA通作者 青淘宝邮箱硬件平台:QF- 开发ADC)Stm32f05112ADC19ADC16个外部采样通道和3个内部信号源。ADC采样通道源和ADC管脚如下表所示:本实验我们采样ADC_IN选取其中一个管脚作为输入引脚,需要对ADC进行配置。需要配置的几个参数:ADC个参数的配置在stm32f0xx_ad.H中使用一个结构体进行了说:typedef{uint32_t ADCFunctionalStateADC_ContinuousConvMode; 配置选择连续采样或单次采

uint32_tADC_ExternalTrigConvEdge;uint32_tADC_ExternalTrigConv;

//ADC

uint32_tADC_DataAlign;uint32_tADC_ScanDirection;

ADC是左对齐或者右 使用中给出一组操作,基于直接器DMA的控制方式:称为为直接器不需要CPU的情况完成操作。下大大提高了运行效率。统总线空闲的时候使用总线。该总线实现处理器和DMA控制器之间最优化设计,使两提供了单元到单元,外设到单元,单元到外设等转换模式。为每种支持的外设功能提供通道,可以各自独立进行配置。其配置模式多种多样,时候于各自不同的设置要求。typedef{uint32_tDMA_PeripheralBaseAddr;//uint32_t //uint32_t //制定外设的源或者目的uint32_t DMAuint32_t //设置外设地址是否增加或不增uint32_t //uint32_tDMA_PeripheralDataSize;//uint32_t //uint32_t uint32_t DMAuint32_t memory-to-memory硬件准备硬件配置入下图所示,采PA1作为引脚,对变阻器输入的信号进行软件准备软件采用库函数进行配置,用户需要配置编写adc.c驱动函数,工程ADadc.cADC1_DMA_Init()函数,通过配置DMA通道和ADC外设,首先DMA配置如下:/*DMA1Channel1ConfigDMA_DeInit(DMA1_Channel1);//选择频 (uint32_t)ADC1_DR_Address;// (uint32_t)&RegularConvData_Tab;//地DMA_InitStruct.DMA_BufferSize=4;//缓冲为4 =DMA_PeripheralInc_Disable;//关外设地址计数DMA_InitStruct.DMA_MemoryInc=DMA_MemoryInc_Enable;//关内存地址计数DMA_InitStruct.DMA_PeripheralDataSize=DMA_PeripheralDataSize_HalfWord;DMA_InitStruct.DMA_Mode=DMA_Mode_Circular;//循环模式DMA_InitStruct.DMA_Priority=DMA_Priority_High;//高优先级DMA_InitStruct.DMA_M2M=DMA_M2M_Disable;//关内存到内存DMA_Init(DMA1_Channel1,/*DMA1Channel1enable*/ADC_DMARequestModeConfig(ADC1,ADC_DMAMode_Circular);//配置DMA/*EnableADC_DMAADC_DMACmd(ADC1,/*ADC/*配置ADC1在连续模式下分辨率为12 ADC_InitStruct.ADC_Resolution=ADC_InitStruct.ADC_ContinuousConvMode=ADC_InitStruct.ADC_ExternalTrigConvEdge=ADC_InitStruct.ADC_DataAlign=ADC_InitStruct.ADC_ScanDirection=ADC_Init(ADC1,/*ConverttheADC1 with55.5CyclesassamplingtimeADC_ChannelConfig(ADC1, ,/*ADCADC_DMACmd(ADC1,/*ADC1ADC_Cmd(ADC1,/*ADCENwhile(!ADC_GetFlagStatus(ADC1,/*ADC1#include#include"adc#include"systick.h"#include"w25x16.h" //ADC1转换的电压值通过MDA方式传到externIO IOuint16_tvoiddelay(IOuint32_t{for(;nCount!=0;nCount--}int{ POINT_COLORBLACK;BACK_C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论