`
ydbc
  • 浏览: 737839 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

STM32外部中断测试

 
阅读更多

STM32外部中断测试

文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.

环境:

主机:WIN7

开发环境:MDK4.23

MCU:STM32F103CBT6

说明:

STM32有20个外部中断线,其中EXTI0-EXTI15给I/O端口使用

EXTI线16连接到PVD输出
EXTI线17连接到RTC闹钟事件
EXTI线18连接到USB唤醒事件
EXTI线19连接到以太网唤醒事件(只适用于互联型产品)

源代码:

初始化:

//打开NTRX外部中断
void open_ntrx_irq(void)
{
	//定义中断结构体
	NVIC_InitTypeDef NVIC_InitStructure ;
	//定义外部中断结构体
	EXTI_InitTypeDef EXTI_InitStructure;
	//定义IO初始化结构体
	GPIO_InitTypeDef GPIO_InitStructure;
	
	//初始化NTRX中断脚PB1时钟
	RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;						
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;     		//设置为输入
	GPIO_Init(GPIOB, &GPIO_InitStructure);                          //GPIOB初始化
	//配置中断源为PB1
	GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource1);
	// 配置EXTI_Line1下降沿触发
	EXTI_ClearITPendingBit(EXTI_Line1);
	EXTI_InitStructure.EXTI_Line = EXTI_Line1;
	EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
	EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
	EXTI_InitStructure.EXTI_LineCmd = ENABLE;
	EXTI_Init(&EXTI_InitStructure);
	//打开NTRX中断
	NVIC_InitStructure.NVIC_IRQChannel = EXTI1_IRQn;				//通道设置为外部中断线0
	NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0f; 	//中断占先等级0
	NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0f;           //中断响应优先级0
	NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;           		//打开中断
	NVIC_Init(&NVIC_InitStructure);                                 //初始化
	
	//EXTI_Line1中断允许
	EXTI_GenerateSWInterrupt(EXTI_Line1);
}


中断函数:

//NTRX中断
void EXTI1_IRQHandler(void)
{
	if(EXTI_GetITStatus(EXTI_Line1) != RESET)
  	{
    	//清中断
    	EXTI_ClearITPendingBit(EXTI_Line1);

		//中断标志置位
		Flag_IRQ.ntrx = 1;
  	}
}



分享到:
评论

相关推荐

    stm32用外部中断测试脉冲个数,测量脉冲频率

    本文将详细介绍如何利用STM32的外部中断功能来测试脉冲个数以及测量脉冲频率。 首先,我们要了解STM32的外部中断工作原理。STM32的GPIO端口支持多种中断模式,包括上升沿、下降沿、双沿(上升和下降)以及边沿检测...

    stm32外部中断

    STM32外部中断是嵌入式系统开发中的关键特性,尤其在实时性和响应速度要求高的应用中至关重要。STM32系列微控制器由意法半导体(STMicroelectronics)生产,广泛应用于各种电子设备,如物联网设备、工业自动化、消费...

    C8T6外部中断.zip_C8T6_STM32 外部中断_STM32F103_c8t6外部中断_selectdzj

    在"selectdzj"的C8T6外部中断实验中,通过实践这些步骤,你可以深入了解STM32的中断系统,并掌握如何利用外部中断实现按键输入功能。这个实验对于理解和掌握STM32的中断机制以及实际应用中的事件驱动编程具有重要...

    STM32的外部中断程序

    9. **实验步骤**:ALIENTEK MINISTM32 实验4 外部中断实验可能包含以下步骤:硬件连接(如连接按钮到STM32的某个GPIO)、编写中断初始化代码、编写中断服务函数、测试并观察中断行为。 10. **学习资源**:提供的...

    实验4 外部中断实验_STM32外部中断实验.rar_STM32MCP2515_mcp2515stm32_mcp2515_lib

    STM32外部中断实验是嵌入式开发中的一个重要环节,主要涉及到STM32微控制器如何响应外部硬件事件,如按钮按下、传感器触发等。在这个实验中,我们将关注STM32与MCP2515之间的交互,MCP2515是一种常用的CAN...

    STM32F1外部中断实验

    在这个"STM32F1外部中断实验"中,我们将深入探讨如何利用STM32F1的库函数来实现外部中断功能,这对于实时性和响应速度要求较高的应用至关重要。 首先,我们需要了解STM32F1的中断系统。STM32F10x系列拥有高达16个...

    STM32串口中断测试程序

    STM32串口中断测试程序是针对意法半导体(STMicroelectronics)的STM32系列微控制器进行设计的,主要用于实现串行通信的中断处理功能。STM32是一款基于ARM Cortex-M内核的微控制器,广泛应用在嵌入式系统设计中,...

    stm32外部中断实验

    STM32外部中断实验是嵌入式开发中的一个重要环节,尤其对于初学者而言,它是理解微控制器实时响应外部事件能力的关键。在这个实验中,我们主要会接触到STM32系列的微控制器,特别是STM32F107VET6型号,这是一种基于...

    外部中断按键消抖电路与stm32程序.zip

    外部中断按键消抖电路与STM32程序是嵌入式系统开发中常见的一环,主要目的是提高系统的稳定性和可靠性。在电子设备中,按键输入是一个常见的用户交互方式,但因为机械结构的原因,按键在按下和释放时可能会产生多次...

    STM32的外部中断程序,亲测可用

    这个压缩包中的“实验5 外部中断实验”很可能包含了示例代码、配置文件以及测试步骤,可以帮助开发者快速理解并实现STM32的外部中断功能。通过深入学习和实践这些内容,你将能够熟练地利用STM32的中断特性,设计出更...

    exit_dancefcf_stm32外部中断初始化_

    在本项目"exit_dancefcf_stm32外部中断初始化_"中,我们专注于使用STM32F103型号芯片进行外部中断的配置和初始化,特别是通过GPIOA(端口A)来实现这一功能。以下是对这个主题的详细解释: 1. **STM32F103简介**:...

    stm32 外部中断例程,按键点灯 IAR

    STM32外部中断例程是嵌入式系统开发中的重要组成部分,主要负责处理来自外部硬件事件的响应。在这个实例中,我们关注的是如何利用STM32微控制器的外部中断功能来实现按键控制LED灯的亮灭。IAR6.1是IAR Embedded ...

    STM32CubeMX Freertos 外部中断处理例程

    在这个特定的示例中,我们关注的是如何在STM32CubeMX中配置FreeRTOS,并创建一个处理外部中断的例程,适用于STM32F103RCT6这款芯片。 STM32F103RCT6是STM32系列中的一款经典芯片,具有高性能、低功耗的特点,拥有多...

    STM32F103小板外部中断测试通过.rar

    在本项目中,我们关注的是如何利用STM32F103C8型号芯片进行外部中断的设置与测试。STM32F103C8是一款经济型、高性能的32位微控制器,具有丰富的外设接口,适用于各种嵌入式应用,如工业控制、消费电子和物联网设备。...

    STM8S003单片机外部中断实验

    在“STM8S003单片机外部中断实验”中,我们将探讨如何利用STM8S003的外部中断功能来实现一个基于按键的简单应用,即按键按下时,LED指示灯的状态翻转。 首先,我们要了解STM8S003的中断系统。STM8S003具有多个可...

    STM32 串口中断程序

    在STM32F103ZET6这款微控制器上,串口(USART,通用同步/异步收发传输器)是实现与外部设备间数据交换的常用接口。本文将详细阐述STM32串口中断程序的设计与实现,以及相关标签所涉及的硬件和软件配置。 首先,STM...

    STM32H750 FreeRTOS实现中断测试【支持STM32H7系列单片机_FreeRTOS系统】.zip

    在这个项目中,"STM32H750 FreeRTOS实现中断测试"旨在展示如何在STM32H750上集成并使用FreeRTOS进行中断处理。中断是嵌入式系统中关键的机制,它允许处理器在执行主任务的同时,响应外部事件,如按键输入、定时器...

    STM8L外部中断代码

    这个“STM8L外部中断代码”主题涉及到的是如何利用STM8L15X系列微控制器的外部中断功能,特别是在低功耗模式下,对下降沿或低电平触发事件进行响应。 在STM8L15X微控制器中,外部中断功能允许设备在外部信号变化时...

    STM32 定时器中断实验

    STM32 定时器中断实验是嵌入式系统开发中的一个重要环节,尤其在基于Cortex-M32内核的STM32单片机中,定时器中断的应用广泛且至关重要。STM32系列微控制器拥有丰富的定时器资源,如基本定时器、通用定时器、高级...

Global site tag (gtag.js) - Google Analytics