Chinaunix首页 | 论坛 | 博客
  • 博客访问: 246826
  • 博文数量: 35
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 273
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-27 23:34
个人简介

To follow the path,look to the master,follow the master.

文章分类

全部博文(35)

文章存档

2019年(1)

2018年(1)

2017年(1)

2016年(8)

2015年(24)

分类: 嵌入式

2015-11-01 14:16:16

Stm32  f103b                
ADC 模/数转换器 18个通道 16个外部和2个内部信号源。可以单次、连续、扫描或间断模式执行。
通过DMA传输方式 展现ADC采集数据。
DMA 控制器提供 7 个数据通道的访问。由于外设实现了向存储器的映射,因此数据对来自或者发向外设的数据传输,也可以像内存之间的数据传输一样管理。

1.使能 ADC 、DMA时钟, 初始化ADC  GPIO 引脚,并设置模拟输入模式。
    RCC_AHBPeriphClockCmd(, ENABLE);        //AHB总线  使能DMA bit
    RCC_APB2PeriphClockCmd(, ENABLE);        //APB2外设时钟使能
    GPIO_Init(GPIOC, &GPIO_InitStructure);
2.配置ADC工作模式
    ADC_InitStructure.ADC_Mode      //双模式或独立模式选择
    ADC_ScanConvMode                   //模数转换在单通道
    ADC_ContinuousConvMode          //模式转换工作在连续或单次
    ADC_ExternalTrigConv                 //是否使用外部触发
    ADC_DataAlign                            //数据对齐
    ADC_NbrOfChannel                     //规定数序转换ADC 通道的数目
    ADC_Init(ADC1, &ADC_InitStructure);
    RCC_ADCCLKConfig                     //配置ADC 时钟
    ADC_RegularChannelConfig           //配置ADC设置它们的转化顺序和采样时间
    ADC_DMACmd                            //使能ADC DMA请求
    ADC_Cmd                                    //使能ADC
    ADC_ResetCalibration                    //复位校准器
    ADC_StartCalibration                    //开始校准
    ADC_GetCalibrationStatus            //等待校准完成
    ADC_SoftwareStartConvCmd        //软件触发ADC转换
配置DMA 模式
        DMA_InitStructure.DMA_PeripheralBaseAddr                    //DMA外设地址
        DMA_InitStructure.DMA_MemoryBaseAddr                       //内存基地址
        DMA_InitStructure.DMA_DIR                                           //外设作为目的源还是数据源
        DMA_InitStructure.DMA_BufferSize                                  //数据大小
        DMA_InitStructure.DMA_PeripheralInc                              //设定外设地址是否递增
        DMA_InitStructure.DMA_MemoryInc                                 //设定内存地址是否递增
        DMA_InitStructure.DMA_PeripheralDataSize                      //设定外设数据宽度
        DMA_InitStructure.DMA_MemoryDataSize                         //设定内存数据宽度
        DMA_InitStructure.DMA_Mode                                         //设定工作模式
        DMA_InitStructure.DMA_Priority                                       //设置优先级
        DMA_InitStructure.DMA_M2M                                          //使能内存道内存
        DMA_Init(DMA1_Channel1, &DMA_InitStructure);              //初始化 DMA
        DMA_Cmd(DMA1_Channel1, ENABLE);                              //使能 DMA


    

阅读(2506) | 评论(0) | 转发(0) |
0

上一篇:Stm32 Usart使用

下一篇:Stm32 SPI使用

给主人留下些什么吧!~~