• 大小: 40KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-12
  • 语言: 其他
  • 标签: STM32  触摸按键  

资源简介

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个文件信息

评论

共有 条评论