资源简介
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个文件信息
相关资源
- 基于STM32F4x9的LCD显示
- VS1053B编解码器的VDR分布式声音采集卡
- stm32的DAC播放音乐文件
- STM32+TMC5160代码电路图.rar
- 基于STM32的深海钻机甲板控制系统
- stm32f103.SchDoc
- STM32F103 USART+DMA
- DMA+stm32 407.zip
- 4_USART串口通信(空闲中断+DMA.zip
- stm32f105-usart-DMA收发demo
- STM32F042F6P6 Uart12DMA;发送中断接收
- 基于STM32的嵌入式双目图像采集系统设
- 基于STM32F103C8单片机的晶联讯电子JL
- 基于STM32的温湿度检测系统实现
- stm32F4+w5300
- 14284969_《STM32单片机应用与全案例实践
-
ST-li
nk-V2的SWD仿真使用方法.docx - 安富莱STM32开发板资料
- STM32F103实现OV7670摄像头显示
- STM32F207学习板例程
- STM32F103VCT6TR - High-density performance lin
- STM32 SRAM启动的 KeiL 配置
- STM32的IAP-Bootloader程序
- STM32例程之Bootloader
- stm32f103 虚拟U盘,调试成功的
- 基于stm32F103vct6的SD卡FATFS文件系统移植
- STM32F030从机中断接收的iic代码,附带
- FreeModbus_Slave+STM32F407+USART2代码亲测可
- STM32+1602液晶proteus仿真.zip
- STM32循迹小车
评论
共有 条评论