基于STM32F103外部IO中断的按键控制编程

该博客详细介绍了如何使用STM32F103微控制器进行按键电路设计,特别是PB3和PA15引脚的配置、中断设置和服务程序。通过按键控制,实现DHT11传感器显示温度和湿度的主程序。其他内容包括系统时钟、嘀哒时钟、LED和DHT11引脚的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、按键电路

在系统中SW1按键与STM32F103的PB3引脚相连接,SW2按键与STM32F103的PA15引脚相连接。
在这里插入图片描述

2、PB3、PA15引脚配置程序

void KEY_GPIO_Config(void)
{
   
   	
    GPIO_InitTypeDef  GPIO_InitStructure;
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
    GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);	
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;			 
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; 		 
    GPIO_Init(GPIOB, &GPIO_InitStructure);   
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;			 
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; 		 
    GPIO_Init(GPIOA, &GPIO_InitStructure);   	
}

3、PB3、PA15外部IO中断配置程序

void Exti_Config(void)
{
   
   	
  EXTI_InitTypeDef EXTI_InitStructure;
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); 
  GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource15);
  GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource3);
  EXTI_InitStructure.EXTI_Line = EXTI_Line3|EXTI_Line15; 
  EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
  EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
  EXTI_InitStructure
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值