stm32编程配置一个I/O为EXTI中断的步骤

发布者:东土大唐88最新更新时间:2017-09-13 来源: eefocus关键字:stm32  编程配置  EXTI中断 手机看文章 扫描二维码
随时随地手机看文章
  1. 配置一个I/O为EXTI中断的步骤:  

  2.         GPIO_InitTypeDef GPIO_InitStructure;  

  3.     EXTI_InitTypeDef EXTI_InitStructure;  

  4.     NVIC_InitTypeDef NVIC_InitStructure;  

  5.     //1.使能EXTIx线的时钟和第二功能AFIO时钟  

  6.     RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOA,ENABLE);  

  7.   

  8. //  NVIC_CONFIG();  

  9.     //2.配置EXTIx线的中断优先级  

  10.     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);  

  11.       

  12.     NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQn;  

  13.     NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  

  14.     NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;  

  15.     NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;  

  16.     NVIC_Init(&NVIC_InitStructure);  

  17.    //3.配置EXTIx中断线的I/O口  

  18.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;  

  19.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;  

  20.     GPIO_Init(GPIOA,&GPIO_InitStructure);  

  21.       

  22.     GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource3);//4.选定要配置为EXTI的I/O口线  

  23.    //5.EXTIx中断线的工作模式的配置  

  24.     EXTI_InitStructure.EXTI_Line = EXTI_Line3;  

  25.     EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;  

  26.     EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;  

  27.     EXTI_InitStructure.EXTI_LineCmd = ENABLE;  

  28.       

  29.     EXTI_Init(&EXTI_InitStructure);  


关键字:stm32  编程配置  EXTI中断 引用地址:stm32编程配置一个I/O为EXTI中断的步骤

上一篇:关于STM32的几种输入模式以及外部中断的配置
下一篇:STM32启动过程详解

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

把GuiLite移植到STM32
1 Gui移植结果 一些演示效果: 2 GuiLite介绍 GuiLite是一个开源的图形用户界面框架,只依赖于一个单一的头文件库(GuiLite.h),不需要很复杂的文件管理,代码量平易近人。 GuiLite由4千行C++代码编写,单片机上也能流畅运行,其最低的硬件运行要求如下: GuiLite具有很强的跨平台特性: 支持的操作系统:iOS/macOS/WatchOS,Android,Linux(ARM/x86-64),Windows(包含VR),RTOS… 甚至无操作系统的单片机 支持的开发语言:C/C++, Swift, Java, Javascript, C#, Golang… 支
[单片机]
把GuiLite移植到<font color='red'>STM32</font>上
STM32模拟IIC驱动OLED屏 原理+源码
处理器和芯片间的通信可以形象的比喻成两个人讲话:1、你说的别人得能听懂:双方约定信号的协议。2、你的语速别人得能接受:双方满足时序要求。 一、IIC总线的信号类型 1、开始信号:处理器让SCL时钟保持高电平,然后让SDA数据信号由高变低就表示一个开始信号。同时IIC总线上的设备检测到这个开始信号它就知道处理器要发送数据了。 2、停止信号:处理器让SCL时钟保持高电平,然后让SDA数据信号由低变高就表示一个停止信号。同时IIC总线上的设备检测到这个停止信号它就知道处理器已经结束了数据传输,我们就可以各忙各个的了,如休眠等。 二、IIC数据传输过程 1、在数据传输时,SDA的数据在SCL为高电平时,必须保持稳定
[单片机]
<font color='red'>STM32</font>模拟IIC驱动OLED屏 原理+源码
UCOS2_STM32移植详细过程 (一)
Ⅰ、概述 该文写针对初学µC/OS的朋友,基于以下平台来一步一步移植µC/OS嵌入式操作系统。UCOS移植相关平台: 系统平台:µC/OS-II(最新V2.92版) 硬件平台:STM32F1(适合F1所以系列) 开发平台:Keil(MDK-ARM) V5 1.为什么是µC/OS-II? 原因在于µC/OS-II是一个比较成熟、稳定的系统,与µC/OS-III比较有些机制相对简单很多。当你掌握了µC/OS-II,µC/OS-III很容易就理解了。 2.为什么是STM32F1? 硬件平台是在移植的过程中比较重要的一点,也就是说,不同的硬件平台,移植过程中的端口(uCOS-IIPorts下源文件)存在一定的差异性。 但是同一内核
[单片机]
UCOS2_STM32移植详细过程 (一)
ch32可以用hal库吗
ch32是什么? 首先,我们需要了解ch32是什么。 ch32是一款基于Cortex-M0内核的单片机,由GD32公司(中国制造)生产。它提供了许多通用外设(通用串行总线、通用定时器、通用异步收发器等),使得它成为开发嵌入式系统的理想选择。 Hal库是什么? STM32 HAL库(即硬件抽象层库)是STM32固件库(PLIB)的继任者。 HAL库是一组C代码,用于为STM32微控制器提供一个高层次的、通用的软件接口。这个软件接口把开发人员与硬件之间的交互抽象化,从而使得他们可以方便地编写不同的应用程序,而不必去关注底层硬件细节。 ch32和HAL库的兼容性? 虽然原则上来说,ch32与STM32微控制器不同,但由于它们都遵循ARM
[单片机]
STM32的启动文件详解
启动文件简介 启动文件由汇编编写,是系统上电复位后第一个执行的程序。主要做了以下工作: 1、初始化堆栈指针SP=_initial_sp 2、初始化PC 指针=Reset_Handler 3、初始化中断向量表 4、配置系统时钟 5、调用C 库函数_main 初始化用户堆栈,从而最终调用main 函数去到C 的世界 查找ARM 汇编指令 在讲解启动代码的时候,会涉及到ARM 的汇编指令和Cortex 内核的指令,剩下的ARM的汇编指令我们可以在MDK- Help- Uvision Help 中搜索到,以EQU 为例,检索如下: 图1 ARM 汇编指令索引 检索出来的结果会有很多,我们只需要看Assembler User G
[单片机]
<font color='red'>STM32</font>的启动文件详解
s5pv210与stm32 spi通信
spi通信不支持从设备主动给主设备发送数据,所以我把spi的用户空间驱动改了一下,实现过程是这样的,用一个中断来响应从设备的要求,即当STM32要主动给主设备发送数据的时候,将中断脚拉低,用户空间检测到中断后,主动给STM32发送一个空数据,这样spi就能读到STM32所要发送的数据了。SPI通信发数据与接数据是同时进行的,这个大家可以看下SPI协议。 以下我我修改的用户空间的驱动: /* * spidev.c -- simple synchronous userspace interface to SPI devices * * Copyright (C) 2006 SWAPP * Andrea Paterniani a.p
[单片机]
STM32学习------SPI笔记【寄存器版】
一、介绍 简述: 1)通常 SPI 通信要求 4 根线,分别是 MOSI(主机输出从机输入), MISO(主机输入从机输出), CLK(时钟线), CS(片选线) 2)当发送和接受数据的工作都准备好了,只要有时钟 CLK,就发送数据,没有时钟就不发送,而且一个时钟周期发送一位(bit)数据,所以发送数据的快慢由时钟频率来控制。 3)至于时钟和数据的相位没有特别严格的要求(而 IIC 中,数据的变化只能在 SCL 是低电平的时候发生), SPI数据的变化是一个时钟周期一次,这样的方法来传输数据就简单多了。我们可以根据需求对时钟的极性和相位做调整,看看是在时钟上升沿还是下降沿来发送数据,还有停止发送时时钟的极性,是保持高电平还是低电平
[单片机]
<font color='red'>STM32</font>学习------SPI笔记【寄存器版】
STM32—驱动DHT11数字温湿度传感器
DHT11模块简介 DHT11数字温湿度传感器,用来测量环境的温度和湿度,而且传输的数据是数字信号,这与DS18B20传输的模拟采集的数据不一样,相比DS18B20而言DHT11的数据采集的处理更加精确,而且驱动也更加方便。 DHT11传感器包括一个电阻式测湿元件和一个NTC测温元件,而且传感器中嵌入一个8位单片机。传感元件测量到数据后经过内嵌MCU处理后,能够直接输出处理好的数据。 DHT11与单片机之间采用单总线通信,只需要初始化一个I/O口即可实现温湿度的实时测量。 其相关参数如下: DHT11数据传输 DHT11数据传输是单总线通信方式,即通过一个IO口完成数据的双向输入输出,DHT11每一次向单片机传输数据是
[单片机]
<font color='red'>STM32</font>—驱动DHT11数字温湿度传感器
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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