STM32的外部中断配置

发布者:SereneVoyage最新更新时间:2018-04-23 来源: eefocus关键字:STM32  外部中断  配置 手机看文章 扫描二维码
随时随地手机看文章

一.配置中断

void NVIC_Configuration(void)
{

  NVIC_InitTypeDef NVIC_InitStructure;

  /* Set the Vector Table base location at 0x08004000 

  NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x4000);     // 1.分配中断向量表

  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);      //设置中断优先级

  /* Enable the EXTI1 Interrupt 
  NVIC_InitStructure.NVIC_IRQChannel = EXTI1_IRQChannel; // 中断通道
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; // 指定抢占式优先级别1
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;    //次优先级为0
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;      //通道中断使能
  NVIC_Init(&NVIC_InitStructure);                  //初始化中断

}

注意:

如果外部中断针脚是PA1,PB1,PC1,PD1 那么中断就要用EXTI1。

如果我们配置的外部针脚为PA4,或PB4,或PC4,PD4等,那么采用的外部中断也必须是EXTI4;

 

二.配置GPIO针脚

void GPIO_Configuration(void)
{

 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;       //选择IO针脚
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;  //配置中断脚,配置为浮空输入 

 GPIO_Init(GPIOA,   &GPIO_InitStructure);  //初始化针脚

注意:如果的针脚是端口的1号针脚,配置的中断一定是EXTI1.

 

三.配置EXIT线,使中断线和IO管脚连接在一起

void EXIT1_Configuration(void)
{
  EXTI_InitTypeDef EXTI_InitStructure;
 //Connect EXTI Line1 to PB.01 
 GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource1); //将EXTI线1连接到端口GPIOD的第1个针脚上
 // Configure Key Button EXTI Line to generate an interrupt on both rising and falling edge  
 EXTI_InitStructure.EXTI_Line = EXTI_Line1; //注意:如果配置的1号针脚,那么必须是EXTI_Line1
 EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
 EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling; //下降沿和上升沿都触发
 EXTI_InitStructure.EXTI_LineCmd = ENABLE;
 EXTI_Init(&EXTI_InitStructure);    //初始化中断
}

 

到此中断配置完成,可以写中断处理函数。

void EXTI1_IRQHandler(void)
{
  if(EXTI_GetITStatus(EXTI_Line1) != RESET)
  {
    // Clear the EXTI line 9 pending bit 
    EXTI_ClearITPendingBit(EXTI_Line1);
     _485_Baud_Check() ;              //调用处理函数
  } 
}


关键字:STM32  外部中断  配置 引用地址:STM32的外部中断配置

上一篇:STM32学习笔记:外部中断的使用
下一篇:对于STM32软件复位

推荐阅读最新更新时间:2024-03-16 16:00

STM32时钟系统详解
1. STM32的时钟源主要有: 内部时钟 外部时钟 锁相环倍频输出时钟 1.1 详细介绍 HSI(内部高速时钟) 它是RC振荡器,频率可以达到8MHZ,可作为系统时钟和PLL锁相环的输入。 HSE(外部高速时钟) 接入晶振范围是4-16MHZ,可作为系统时钟和PLL锁相环的输入,还可以经过128分频之后输入给RTC。 LSI(内部低速时钟) 它是RC振荡器,频率大概为40KHZ,供给独立看门狗或者RTC,并且独立看门口只能依靠LSI作为时钟源。 LSE(外部低速时钟) 通常外接32.768MHZ晶振提供给RTC。 PLL(锁相
[单片机]
<font color='red'>STM32</font>时钟系统详解
外部中断实验
一。外部中断的概述 1. 对于51系列单片机只有2个外部中断输入引脚,外部中断0和外部中断1 而STM32的每一个IO口都可以作为外部中断输入。 2. STM32F103系列单片机中断控制器支持19个外部中断请求。 线0-15对应外部IO口的输入中断。 线 16:连接到 PVD 输出。 线 17:连接到 RTC 闹钟事件。 线 18:连接到 USB 唤醒事件。 3. 对于每一个中断线都可以独立的配置触发方式:上升沿,下降沿或双边沿触发。 二。 GPIO与中断线的映射 GPIO与中断线的映射关系图 GPIOx.0映射到外部中断线EXTI0 GPIOx.1映射到外部中断线EXTI1 ...... GPIOx.15映射
[单片机]
<font color='red'>外部中断</font>实验
STM32单片机串口功能实现
STM32学习笔记心得四: =============串口通信================ 1.通信方式 处理器和外围设备进行通信的方式:并行通信和串行通信 并行通信: 传输原理:数据的每一个位都在同时传输 优点: 速度快 缺点: 占用很多引脚资源 串行通信: 传输原理:数据按位的顺序传输 优点: 占用引脚少 缺点: 传输速度慢 -------------------------------------------------- 对于大部分的设备来讲,引脚资源是有限的,所以在通信方面要节约IO口 串口作为MCU的重要外接设备,同时也作为软件调试手段 串行通信按照传送的方向
[单片机]
何谓STM32 定时器的 “COM事件”
无刷电机换向时,一般是三相要同时换向的,但是在软里设置换向时肯定是一次只能设置一相,这就达不到三相同时换向。 简单的办法就是启用STM32的COM事件,你先逐个设置好每相的换向(注意:此时虽然设置了,但实际上并不会进行换向), 然后再调用COM事件,此时,三相将同时换向
[单片机]
何谓<font color='red'>STM32</font> 定时器的 “COM事件”
STM32模块化程序】PWM产生
一、STM32的通用定时器介绍 STM32F103ZE 拥有 TIM2、TIM3、TIM4 和 TIM5 共 4 个通用定时器。 STM32F103C8拥有TIM2/TIM3/TIM4这三个通用定时器 通用定时器除了具备基本定时器的向上计数器功能外,还可以向下、向上/向下计数。 此外还具备独立通道,能够实现输入捕获、输出比较、PWM 输出、单脉冲输出的功能。 二、输出比较产生PWM 1、产生PWM的几种方式 ①、硬件实现。比如STM32 自带的 PWM 输出功能。 注意了,硬件实现的时候,外部接线需要接到通用定时器的外部通道上! ②、通用定时器的输出比较实现软件的PWM,这个软件产生的PWM要比定时器模拟产
[单片机]
Dialog拓展可配置混合信号IC领先地位,出货量超35亿套器件
中国深圳,2018年5月8日 – 高度集成电源管理、AC/DC电源转换、充电、固态照明(SSL)和蓝牙低功耗技术供应商Dialog半导体公司(德国证券交易所交易代码:DLG)日前宣布,其可配置混合信号IC(CMIC)产品总出货量已超过35亿套。该里程碑印证了Dialog的可配置技术,包括非常成功的GreenPAK™产品系列,已经成为市场的首要选择。 Dialog的CMIC能够帮助设计工程师以更简单的方式快速开发新型电子产品。为了进一步支持设计工程师使用GreenPAK CMIC,Dialog推出了一系列的开发工具,包括支持近期发布的GreenPAK SLG46826和SLG46824 两颗CMIC。 到目前,Dial
[半导体设计/制造]
基于STM32单片机的串口使用解析
STM32串口功能比较强大,但仅仅使用串口来说,是很简单的 我们要做的事 1.使能串口时钟 2.复位串口 3.设置串口波特率 4.设置数据长度,停止位 5.收发使能 6.串口使能 1 int main() 2 { 3 u8 buf; 4 sysclk_init(9); 5 6 RCC-》APB2ENR|=1《《14; //串口使能 7 8 RCC-》APB2RSTR|=1《《14; 9 RCC-》APB2RSTR&=~(1《《14);//复位串口,不复位会出错 10 USART1-》BRR=0x1D4C;//设置波特率 11 USART1-》CR1|=0x200c;//停止位在USART-》CR2中,默认为1位停止位 12 /
[单片机]
基于<font color='red'>STM32</font>单片机的串口使用解析
Cortex-M的RTOS中断优先级配置方案
如果CPU没有中断,你能想象是什么情况吗? 就是一个while循环,且不能中断处理及时的任务,更别说有现在的RTOS了(RTOS也是需要中断才能实现)。 下面就来说说关于Cortex-M中断在RTOS应用及注意事项。 关于Cortex-M处理器 这里先介绍一点Cortex-M处理器相关的内容,本文结合内核为Cortex-M3的STM32来讲述。 STM32属于ARM中Cortex-M系列处理器,比如:STM32F1数据Cortex-M3,STM32F7数据Cortex-M7。 可以参看我之前分享文章《从Cortex-M到Cortex-A认识ARM处理器》,了解一下关于ARM处理器的种类。 本文主要结合Cortex-
[单片机]
Cortex-M的RTOS中断优先级<font color='red'>配置</font>方案
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved