(STM32F4) External Interrupt
外部中斷(External Interupt) 在MCU中是很常見而且很常用到的基本function,所以就不多做解釋。不過因為每顆MCU的配置都不太一樣所以在此記錄下來。
External Interrupt 配置
void EXIT_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_Config;
EXTI_InitTypeDef EXTI_Config;
NVIC_InitTypeDef NVIC_Config; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); GPIO_Config.GPIO_Mode = GPIO_Mode_IN;
GPIO_Config.GPIO_OType = GPIO_OType_PP;
GPIO_Config.GPIO_Pin = GPIO_Pin_0;
GPIO_Config.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Config.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_Init(GPIOA, &GPIO_Config); SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource0); EXTI_Config.EXTI_Line = EXTI_Line0;
EXTI_Config.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_Config.EXTI_Trigger = EXTI_Trigger_Rising;
EXTI_Config.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_Config); NVIC_Config.NVIC_IRQChannel = EXTI0_IRQn;
NVIC_Config.NVIC_IRQChannelSubPriority = 0x01;
NVIC_Config.NVIC_IRQChannelPreemptionPriority = 0x01;
NVIC_Config.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_Config); printf("External interrupt initial finished !!\n");
}
中斷向量內的程式碼
void EXTI0_IRQHandler(void)
{
if(EXTI_GetFlagStatus(EXTI_Line0) != RESET)
{
printf("interrupt test\n");
EXTI_ClearITPendingBit(EXTI_Line0);
}
}
主程式
/* Private variables ---------------------------------------------------------*/
__IO uint32_t status; int main(void)
{
LED_Config();
Delay_Init(); /* initialize delay function */
USART_Config();
EXIT_GPIO_Config();
printf("STM32F4 External Function test\n"); while()
{
status = GPIOA->IDR & GPIO_Pin_0;
if(status)
GPIOD->ODR |= GPIO_Pin_12;
else
GPIOD->ODR &= ~GPIO_Pin_12;
DelayMs();
}
}
(STM32F4) External Interrupt的更多相关文章
- STM32F4 External interrupts
		
STM32F4 External interrupts Each STM32F4 device has 23 external interrupt or event sources. They are ...
 - PIC32MZ tutorial -- External Interrupt
		
In my older blog "PIC32MZ tutorial -- Key Debounce", I shows how to acheive key debounce w ...
 - External Input Counter and External interrupt
		
External Input Counter and External interrupt : count the input signal from the button. So what is t ...
 - Software UART, Timer, PWM, External Interrupt
		
How can you add extra hardware UARTs to a 32bit TMS470 ARM7-based microcontroller at zero cost? Solu ...
 - STM32F4 External event -- WFE 待机模式
		
The STM32F4xx are able to handle external or internal events in order to wake up the core (WFE). The ...
 - STM8L --- External interrupt
		
note 1: Several interrupts can be pending at the same time. When an interrupt request is not servic ...
 - 10.2 External interrupt/event controller (EXTI)
		
EXTI控制器的主要特点如下: 每个中断/事件线上的独立触发器和掩码 每个中断行的专用状态位 生成最多20个软件事件/中断请求 脉冲宽度小于APB2时钟周期的外部信号检测. 每条中断线路的专用状态位生 ...
 - stm32F4中断分析-HAL库
		
详细可以参考: STM32使用HAL库操作外部中断——实战操作 https://www.cnblogs.com/wt88/p/9624103.html /** ******************** ...
 - STM32F4, USB HS with ULPI and Suspend/Wakeup
		
Hi guys,I am in need of your help, unfortunately STs documentation is lacking some information here. ...
 
随机推荐
- ISAP网络流算法
			
ISAP全称Improved Shortest Augmenting Path,意指在SAP算法进行优化.SAP即Edmonds-Karp算法,其具体思路是通过不断向残存网络推送流量来计算整个网络的最 ...
 - Python中sort与sorted函数
			
python中列表的内置函数sort()可以对列表中的元素进行排序,而全局性的sorted()函数则对所有可迭代的序列都是适用的: 并且sort()函数是内置函数,会改变当前对象,而sorted()函 ...
 - poj 1611 The Suspects(第一道并查集)
			
题意: 有N个学生,编号为0-n-1,现在0号学生感染了非典,凡是和0在一个社团的人就会感染, 并且这些人如果还参加了别的社团,他所在的社团照样全部感染,社团个数为m,求感染的人数. 输入: n代表人 ...
 - (转)jQuery基础之选择器
			
原文地址: http://www.cnblogs.com/webmoon/p/3169360.html 选择器是jQuery的根基,在jQuery中,对事件处理.遍历DOM和Ajax操作都依赖于选择器 ...
 - DataType--类型基础
			
数据类型数据的定义在各种场合均不一样,数据的载体也不一样,数据的表现方式和传递方式也不一样,数据的处理方式也不一样,数据库不可能处理所有形式的数据,因此必须规范数据,按照类型划分和处理. 连续和离散( ...
 - Sobel算法
			
最近看了一些Sobel算法,并试了一下,源码如下: private void Sobel(Bitmap img) { int width = img.Width; int height = img.H ...
 - 客户端 post ,get 访问服务器
			
private void sendReuestExpansion() { HttpRequest<T> req = this; HttpWebRequest request; try { ...
 - VS2010-安装包制作过程图解
			
最近做了winform相关程序,开始总结制作安装包过程. 1.首先在打开 VS2010 =>新建=>项目 2.创建一个安装项目 Setup1 在“目标计算机上的文件系统”下我们看见 ...
 - delegate  Func  Action Expression
			
using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; na ...
 - WinForm中DataGridView的使用(三) - 各种事件
			
CellMouseDown/CellMouseUp 可获得行.列号 可用if (rowIndex >= 0 && e.Y > 4 && e.Y < ( ...