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程序),测试通过。按键消抖动,抗干扰5768875687687687678
测试STM32F103C8四个按键外部中断,按下PA1 PA5 PA6 PA7控制PB12 PB13 PB14 PB15LED取反。 程序编译下载实验通过。
STM32F103 ET6 开发板的外部中断测试程序.经测试可以正确运行.
这是一个STM32F103CB的外部中断测试程序,用按键控制LED的状态。
STM32程序,全部可运行,经过测试
基于stm32f103rct6的外部中断超声波测距,本测距方案稳定性高,不容易出现数据波动,测距范围在2-500cm左右,自带串口printf输出测试距离
TM32107VC 使用固件库3.1 外部中断测试程序 金牛板上实现外部中断检测按键点LED
基于Stm32CubeMx的板载按键中断测试
基于STM32F103单片机的经典应用实例...176.STM32-使用外部中断控制的PS2键盘设计 177.STM32-ADC实时检测外部模拟量后printf输出给PC机 178.STM32-TFT032-TP-SD刷屏 179.STM32-TFT032-TP-SD显示汉字 180.STM32-RTC实时
详细可参考:【STM32开发】STM32外部中断 注意:A > B是指中断级别更高,0是最高,15为最小,0 > 15 举个栗子: 有A、B两个中断 一、抢占式优先级 : A > B 1.B先进入中断子程序,但并没有执行完,此时A中断触发,这...
stm32f4 hal 库中的外部中断测试程序 引脚定义:板卡上PIN_I8与按键连接,当按键按下时,IO被置低电平,按键弹起状态为高电平。所以该引脚可配置为下降沿触发中断。
STM32不关闭定时器,通过外部中断测量脉冲宽度
stm32l151c8t6外部中断控制程序,测试可用
STM32外接旋转编码器(EC11),外部中断方式识别出正反转,响应速度优良,无丢步现象,无需延时滤波。在强干扰环境下测试正常。注意是仪器仪表面板常见的那种编码器,不是电机测速的那种。
基于Keil MDK环境开发。在开发板上测试过,可以实现中断的嵌套,完整项目文件,完整源码。~~~~
使能了三个按键及两个LED,通过外部中断的方式可以对两个LED进行点亮,翻转和熄灭操作,基于STM32CubeMX,HAL库开发,经测试可用,基础教程配套实验。
stm32驱动HC-SR04超声波模块测距的中断例程,PA4->Trig,PA5->Echo 串口1打印测量距离。
本文件包含STM32F103作为SPI主机、STM32F407作为SPI从机两个工程,编译环境Keil...三线线SPI+任意普通IO作为发送起始标志,STM32F407使用外部中断检测主机发送开始。STM32F407将接收的数据打印到电脑串口。已通过测试。