资源简介
STM32单片机经典模数转换程序,程序简单易懂,便于移植开发。

代码片段和文件信息
/*-------------------------------------------------------------------------------
文件名称:usart.c
文件描述:adc库函数
硬件平台:尼莫M3S开发板
----------------------------------------------------
| |
| PC1 - ADC1 连接外部电压(通过一个滑动变阻器分压)|
| |
----------------------------------------------------
编写整理:shifang
固件库 :V3.5
技术论坛:www.doflye.net
备 注:通过简单修改可以移植到其他开发板,部分资料来源于网络。
---------------------------------------------------------------------------------*/
#include “adc.h“
#define ADC1_DR_Address ((u32)0x40012400+0x4c)
__IO uint16_t ADC_ConvertedValue;
/*
* 函数名:ADC1_GPIO_Config
* 描述 :使能ADC1和DMA1的时钟,初始化PC.01
* 输入 : 无
* 输出 :无
* 调用 :内部调用
*/
static void ADC1_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
/* Enable DMA clock */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1 ENABLE);
/* Enable ADC1 and GPIOC clock */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_GPIOC ENABLE);
/* Configure PC.01 as analog input */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOC &GPIO_InitStructure); // PC1输入时不用设置速率
}
/* 函数名:ADC1_Mode_Config
* 描述 :配置ADC1的工作模式为MDA模式
* 输入 : 无
* 输出 :无
* 调用 :内部调用
*/
static void ADC1_Mode_Config(void)
{
DMA_InitTypeDef DMA_InitStructure;
ADC_InitTypeDef ADC_InitStructure;
/* DMA channel1 configuration */
DMA_DeInit(DMA1_Channel1);
DMA_InitStructure.DMA_PeripheralbaseAddr = ADC1_DR_Address; //ADC地址 定义DMA外设基地址
DMA_InitStructure.DMA_MemorybaseAddr = (u32)&ADC_ConvertedValue;//内存地址
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC; //外设作为数据传输的来源;DMA_DIR_PeripheralDST-外设作为数据传输的目的地
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(DMA1_Channel1 &DMA_InitStructure);
/* Enable DMA channel1 */
DMA_Cmd(DMA1_Channel1 ENABLE);
/* ADC1 configuration */
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //独立ADC模式
ADC_InitStructure.ADC_ScanConvMode = DISABLE ; //禁止扫描模式,扫描模式用于多通道采集
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; //开启连续转换模式,即不停地进行ADC转换
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //不使用外部触发转换
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //采集数据右对齐
ADC_InitStructure.ADC_NbrOfChannel = 1; //要转换的通道数目1 取值范围是1~16
ADC_Init(ADC1 &ADC_InitStructure);
/*配置ADC时钟,为PCLK2的8分频,即9Hz*/
RCC_ADCCLKConfig(RCC_PCLK
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-01-17 11:01 STM32-ADC转换\
目录 0 2019-01-17 11:01 STM32-ADC转换\HARDWAE\
目录 0 2019-01-17 11:00 STM32-ADC转换\HARDWAE\adc\
文件 4142 2018-11-03 17:12 STM32-ADC转换\HARDWAE\adc\adc.c
文件 192 2015-03-02 14:48 STM32-ADC转换\HARDWAE\adc.h
目录 0 2019-01-17 11:00 STM32-ADC转换\HARDWAE\beep\
文件 1075 2015-01-28 15:46 STM32-ADC转换\HARDWAE\beep\beep.c
文件 395 2015-01-28 15:55 STM32-ADC转换\HARDWAE\beep.h
目录 0 2019-01-17 11:00 STM32-ADC转换\HARDWAE\delay\
文件 1843 2015-01-28 11:12 STM32-ADC转换\HARDWAE\delay\delay.c
文件 285 2015-01-28 11:13 STM32-ADC转换\HARDWAE\delay.h
目录 0 2019-01-17 11:00 STM32-ADC转换\HARDWAE\key\
文件 1517 2015-01-28 11:21 STM32-ADC转换\HARDWAE\key\key.c
文件 391 2015-01-28 11:21 STM32-ADC转换\HARDWAE\key.h
目录 0 2019-01-17 11:00 STM32-ADC转换\HARDWAE\led\
文件 1187 2015-01-28 11:13 STM32-ADC转换\HARDWAE\led\led.c
文件 601 2015-01-28 11:13 STM32-ADC转换\HARDWAE\led.h
目录 0 2019-01-17 11:00 STM32-ADC转换\HARDWAE\timer\
文件 1703 2015-01-28 15:35 STM32-ADC转换\HARDWAE\timer\timer.c
文件 194 2015-01-28 15:35 STM32-ADC转换\HARDWAE\timer.h
目录 0 2019-01-17 11:00 STM32-ADC转换\HARDWAE\usart\
文件 3416 2015-03-03 08:55 STM32-ADC转换\HARDWAE\usart\usart.c
文件 190 2015-03-02 14:50 STM32-ADC转换\HARDWAE\usart.h
目录 0 2019-01-17 11:00 STM32-ADC转换\USER\
文件 1387 2015-03-25 18:37 STM32-ADC转换\USER\main.c
文件 352957 2018-11-03 15:24 STM32-ADC转换\USER\main.crf
文件 1337 2018-11-03 15:24 STM32-ADC转换\USER\main.d
文件 391760 2018-11-03 15:24 STM32-ADC转换\USER\main.o
文件 3259 2011-04-04 19:03 STM32-ADC转换\USER\stm32f10x_conf.h
文件 4474 2015-01-27 14:29 STM32-ADC转换\USER\stm32f10x_it.c
文件 347783 2018-11-03 15:24 STM32-ADC转换\USER\stm32f10x_it.crf
............此处省略10个文件信息
相关资源
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
- AD7606采集程序
- stm32 用SPI 方式读写 SDHC
- stm32通过DMA方式采集ADC数据
- 意法半导体STM全系列微控制器STM32ST
- 基于51单片机的模数转换与数模转换
- 基于STM32芯片的SX1278 驱动 LORA.rar
评论
共有 条评论