STM32外部中断测试

发布者:BlissfulJoy最新更新时间:2020-10-09 来源: eefocus关键字:STM32  外部中断  端口 手机看文章 扫描二维码
随时随地手机看文章

环境:

主机: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通过DMA采集多通道AD
下一篇:STM32的SPI采用DMA方式传输测试

推荐阅读最新更新时间:2024-11-08 20:37

利TI 电源解决方案加速手持终端手机设计
bq2403x - 具有动态电源路径管理、输出稳压至 6V、电池稳压 4.2V 的充电器 bqTINY III 系列器件是高度集成的锂离子线性充电器与系统电源路径管理器件,可满足空间有限的便携式应用的要求。bqTINY III 系列提供集成的 USB端口与 DC 电源(AC 适配器)、具备自动电源选择功能的电源路径管理、功率 FET 与电流传感器、高精度电流与稳压、充电状态以及充电终端,所有器件均为单片。 特性  小型 3,5 毫米 × 4,5毫米 QFN封装;  可满足采用单体锂离子或锂聚合物电池的便携式应用要求;  集成的动态电源路径管理 (DPPM) 功能允许 AC 适配器或 USB 端口同时为系统供电,并给电池充电;
[新品]
STM32的GPIO引脚即输入又输出
要想实现STM引脚即输入又输出,需要: 引脚配置成开漏输出 外部需要上拉 在输入的时候,要先将STM的引脚置高 内部上拉电阻主要是用于推挽输出和单纯的输入模式,这两种情况只能是输出或者输入模式,而开漏模式同时支持输出和输入查询,必须外接上拉电阻。
[单片机]
从LCD电极读数的单片机接口技术
   摘要 以测量仪表中常见的时分割驱动法驱动的段式LCD显示器为例,分析LCD显示器的电极连接结构和驱动信号波形;介绍单片机读取仪表LCD读数的接口电路。此接口电路应用于笔者开发的自动血压监控仪的研制及临床应用项目中,由8031单片机读取血压计的收缩压、舒张压、心率以及充气和放气时瞬时压强。实验证明,此接口电路工作稳定、可靠。   通过测量仪表拾取被测信号是单片机前向通道设计中常用的数据采集方式。通常,接口电路从仪表电路中取得相关的模拟信号,经过A/D转换或V/F 转换送入单片机;或者取得一个频率信号,经整形后送入单片机 。然而,有些测量仪表电路中可能找不到这样的信号。以电容式压力传感器血压计为例,尽管从其振荡电路中可以取得一
[单片机]
基于VS1003B的语音通信方法研究
简介:在通指装备模拟训练器材研发中,经常会遇到需要模拟实现语音通话功能的情况。常规的解决方案是在计算机上通过高级语言编程实现对声音的采集和播放,并通过局域网进行传输。考虑到语音通信的模块化和可控性,文中以STM32F107VCT6作为核心处理器,采用VS1003B作为语音采集和播放器件,通过CAN总线实现语音和信令传输,设计实现了一种低成本、高质量的语音通信方法。 1 VS1003B解码芯片介绍 VS1003B是由芬兰VLSI公司出品的一款单芯片的MP3/WMA/MIDI音频解码和ADPCM编码芯片,其内部电路如图1所示。由图可见,VS1003B包含一个高性能、具有自主产权的低功耗DSP处理器内核VSDSP,工作数据存储器
[单片机]
基于VS1003B的语音通信方法研究
stm32学习笔记(三)串口通讯实验
#include sys.h #include usart.h ////////////////////////////////////////////////////////////////////////////////// //如果使用ucos,则包括下面的头文件即可. #if SYSTEM_SUPPORT_OS #include includes.h //ucos 使用 #endif ////////////////////////////////////////////////////////////////////////////////// //本程序只供学习使用,未经作者许可,不得用于其它
[单片机]
<font color='red'>stm32</font>学习笔记(三)串口通讯实验
STM32的NVIC_PriorityGroupConfig使用及优先级分组方式理解
STM32有43个channel的settable的中断源;AIRC(Application Interrupt and Reset Register)寄存器中有用于指定优先级的4 bits。这4个bits用于分配preemption优先级和sub优先级,在STM32的固件库中定义如下 #define NVIC_PriorityGroup_0 ((u32)0x700) #define NVIC_PriorityGroup_1 ((u32)0x600) #define NVIC_PriorityGroup_2 ((u32)0x500) #define NVIC_Priority
[单片机]
结构体在STM32串口接收中的妙用
结构体C程序中在STM32单片机串口接收的妙用之一 结构体是一种数据的归类方式,相比数组或变量更具有整体全面性,例如一个数组只可以放一些按照元素顺序存放的单元变量,即tab ={x,x,x,x,x......},i 有多大,数组内元素就有多少.那么我们这时候如果我们用这个数组来接收串口接收信息,信息的格式是: 数据头 数据长度 数据区 数据校验 数据尾. 假设数据区为 身高-体重-性别-年龄-学历 那么我们用数组接收时,提取数据时就需要计算出数据格式中每个单元所对应的位置,即数组中第i个元素对应的内容.这样显然是很麻烦的,效率很低.这就相当于先织了一个大网,捕捉到一网鱼,还得过下称,才能按照重量分类开来一样. 那么如
[单片机]
使用MCU GD32替代STM32的体会
GD32作为国产MCU里的佼佼者,产品线也比较丰富,是替代STM32的一个很好的选择。前段时间有个项目用到GD32的单片机,今天来说说使用的一些体会。 1.硬件我用的单片机型号为GD32F405RGT6,对应STM32F405RGT6。首先,硬件上基本兼容,有一点不同的是GD32的31和47脚为NC,STM32的为VCAP。STM32这两个引脚需要分别连接一个电容到GND,而GD32则不需要。当然,有这两个电容也无所谓,所以,硬件上GD32可以直接替换STM32。 仿真器可以使用Jlink,也可以使用STLink,但是下载程序时会弹框提示,非ST芯片。 2.软件软件上,前期
[单片机]
使用MCU GD32替代<font color='red'>STM32</font>的体会
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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