资源简介
STM32经典触摸按键程序代码,程序中参数配置、注释清晰。代码易于移植开发。
代码片段和文件信息
/*-------------------------------------------------------------------------------
文件名称:usart.c
文件描述:adc库函数
硬件平台:尼莫M3S开发板
----------------------------------------------------
| |
| 采集内部温度值 通过串口显示
| |
----------------------------------------------------
编写整理: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_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(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
ADC_Init(ADC1 &ADC_InitStructure);
/*配置ADC时钟,为PCLK2的8分频,即9Hz*/
RCC_ADCCLKConfig(RCC_PCLK2_Div8);
/*配置ADC1的通道11为55. 5个采样周期,序列为1 */
ADC_RegularChannelConfig(ADC1 ADC_Channel_11
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-01-17 11:07 STM32-触摸按键\
目录 0 2019-01-17 11:07 STM32-触摸按键\MY\
目录 0 2019-01-17 11:07 STM32-触摸按键\MY\adc\
文件 4009 2015-03-25 18:17 STM32-触摸按键\MY\adc\adc.c
目录 0 2019-01-17 11:07 STM32-触摸按键\MY\adc_temperate\
文件 2262 2015-03-25 18:29 STM32-触摸按键\MY\adc_temperate\tsensor.c
目录 0 2019-01-17 11:07 STM32-触摸按键\MY\beep\
文件 1075 2015-01-28 15:46 STM32-触摸按键\MY\beep\beep.c
目录 0 2019-01-17 11:07 STM32-触摸按键\MY\dac\
文件 1404 2015-03-25 18:46 STM32-触摸按键\MY\dac\dac.c
目录 0 2019-01-17 11:07 STM32-触摸按键\MY\delay\
文件 1843 2015-01-28 11:12 STM32-触摸按键\MY\delay\delay.c
目录 0 2019-01-17 11:07 STM32-触摸按键\MY\inc\
文件 192 2015-03-02 14:48 STM32-触摸按键\MY\inc\adc.h
文件 395 2015-01-28 15:55 STM32-触摸按键\MY\inc\beep.h
文件 203 2015-03-25 18:46 STM32-触摸按键\MY\inc\dac.h
文件 285 2015-01-28 11:13 STM32-触摸按键\MY\inc\delay.h
文件 391 2015-01-28 11:21 STM32-触摸按键\MY\inc\key.h
文件 601 2015-01-28 11:13 STM32-触摸按键\MY\inc\led.h
文件 194 2015-01-28 15:35 STM32-触摸按键\MY\inc\timer.h
文件 336 2015-03-25 20:45 STM32-触摸按键\MY\inc\tpad.h
文件 340 2015-03-25 18:30 STM32-触摸按键\MY\inc\tsensor.h
文件 190 2015-03-02 14:50 STM32-触摸按键\MY\inc\usart.h
目录 0 2019-01-17 11:07 STM32-触摸按键\MY\key\
文件 1517 2015-01-28 11:21 STM32-触摸按键\MY\key\key.c
目录 0 2019-01-17 11:07 STM32-触摸按键\MY\led\
文件 1187 2015-01-28 11:13 STM32-触摸按键\MY\led\led.c
目录 0 2019-01-17 11:07 STM32-触摸按键\MY\timer\
文件 1703 2015-01-28 15:35 STM32-触摸按键\MY\timer\timer.c
目录 0 2019-01-17 11:07 STM32-触摸按键\MY\tpad\
文件 4967 2015-03-25 20:56 STM32-触摸按键\MY\tpad\tpad.c
............此处省略11个文件信息
- 上一篇:STC12C5A60S2例程
- 下一篇:max31865数据手册与spi模拟程序
相关资源
- DY-SV17F开发资料+STM32F103串口2驱动
- 13487395_STM32自学笔记 第2版.pdf
- X-CUBE-MCSDK-FUL_5.4.3.7z
- SX1276无线模块代码+原理图
- stm32f303标准外设库
- 基于STM32的完整变频器软硬件资料
-
ST-li
nk驱动 - stm32f4xx_dsp_stdperiph_lib_um库函数手册
- STM32L151低功耗单片机例程
- 原子哥STM32精英版原理图以及库函数版
- stm32f103C8 USB串口+FreeRTOS+ADC
- flash_loader_demo_v2.7.0
- Flash Loader Demonstrator v2.8.0 STM8&32 程序器
- 神舟III号stm32光盘。
- FATFS STM32H743.rar
- stm32F4固件库
- 基于STM32的迷宫小车
- 嵌入式实时操作系统uCOS-II经典——基
- STM32F4开发指南-库函数版本
- STM32 HAL 库开发实战指南—基于 F7
- stm32f4摄像头数据转bmp上传onenet.zip
- STM32 摄像头和上位机
- stm32+Ucos2+UI最简模板
- STM32F407中文手册(完全版) 高清完整
- labview实验例程(STM32 USB)
- STM32的si4463程序
- STM32+FreeRtos+Lwip+ENC28J60
- stm32 hid双向通信例程源码-包括上位机
- STM32L151C8T6 UCSOII 代码 串口中断接收
- STM32G071低功耗模式进入退出RTC和按键
评论
共有 条评论