void EXTI9_5_IRQHandler(void)
{
u32 Temp = 0x00;
PEout(2) = ~PEout(2);
Temp = EXTI->PR; //取读是那个引脚的中断
switch(Temp)
{
case Exti_From_Pin8:
EXTI_ClearITPendingBit(EXTI_Line8);
break;
case Exti_From_Pin9:
if(Sys_Status < MAX_STATUS)
{
Sys_Status ++;
}
EXTI_ClearITPendingBit(EXTI_Line9);
break;
default:break;
}
}
==============================分割线=========================================
中断处理程序说明,由于外部中断EXTI5——EXTI9公用了一个中断(EXTI10——EXTI15类似)所以要区分不同的中断源需要进行相应的判断。如上EXTI9_5_IRQHandler中,通过取读EXTI->PR寄存器来判断中断的来源。
具体如下:
关键字:stm32 exti 中断源区分
引用地址:
stm32 exti 5~9 中断源区分
推荐阅读最新更新时间:2024-11-19 07:15
stm32变更外部晶振时如何配置时钟、以及HSI的使用
由于stm32的库默认是外部晶振8M的情况下实现的,所以配置串口波特率的时候也是按8M,包括主频。 如果采用外部晶振12M,配置时钟为72MHZ 。 1)PLL倍频这样改: 8M: RCC- CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);//8*9=72 12M: RCC- CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6);//12*6=72 库函数:void RCC_PLLConfig(uint32_t RCC_PLLSource, uint32_t RCC_PLLMul) 例
[单片机]
最简单的方式 创建STM32的工程(使用标准库)-1
1:看到网上好多资料有关怎么创建STM32工程文件的,比较麻烦,都是建啥文件夹,然后拷贝文件,挪来挪去。其实在STM32标准库中本来就有工程文件的样板,如下图,有5中IDE的工程文件样板。我这里选用的标准库是F1系列的。 2:我电脑装的IDE是MDK uVision V4.00。打开上面MDK-ARM文件夹,双击直接打开Project.uvproj 工程文件。 3:直接编译-build,没问题! 这里介绍下工程目录: STM32100E-EVAL 是当前工程的名字,100E应该是一款MCU,EVAL尾缀是evalution的简写,评估的意思。 User: 里面放main.c 和 stm32f10x_it.c ,我
[单片机]
STM32-(09):USART库函数方式编程
STM32库函数 STM32库是由ST公司针对STM32提供的函数接口,即API(Application Program Interface),开发者可调用这些函数接口来配置STM32 的寄存器,使开发人员得以脱离最底层的寄存器操作,有开发快速,易于阅读,维护成本低等特点。 当我们调用库的API的时候可以不用挖空心思去了解库底层的寄存器操作,就像当年我们学习C语言的时候,用Printf()函数时只是学习它的使用格式,并没有去研究它的源码实现,如非必要,可以说是老死不相往来。 库是假设在寄存器与用户驱动层之间的代码,向下处理与寄存器直接相关的配置,向上为用户提供配置寄存器的接口。 CMSIS 标准 因为基于Cortex的
[单片机]
STM32——待机唤醒实验
1.STM32待机模式介绍 1.1 STM32低功耗模式介绍 很多单片机具有低功耗模式,比如MSP430、STM8L等,我们的STM32 也不例外。默认情况下,系统复位或上电复位后,微控制器进入运行模 式。在运行模式下,HCLK 为CPU提供时钟,并执行程序代码。当 CPU 不 需继续运行(例如等待外部事件)时,可以利用多种低功耗模式来节省 功耗。用户需要根据最低电源消耗、最快速启动时间和可用的唤醒源等 条件,选定一个最佳的低功耗模式。 当然在运行模式下,也可以通过如下方式降低功耗: (1)降低系统时钟速度 (2)不使用 APBx 和 AHB 外设时,将对应的外设时钟关闭 STM32 提供了 3 种低功耗模式,以达到不
[单片机]
STM32单片机的PSAM卡驱动模块设计
引言 刷卡消费随着人们生活水平的提高已经成为常用的支付方式之一。为了保证刷卡消费的安全性,将PSAM卡内嵌于各种终端刷卡设备中。PSAM(Purchase SecureAccess Module,销售点终端安全存取模块),由IC卡发行主管部门或者应用主管机构发行,是可以用于对IC卡进行脱机消费交易认证的安全认证卡,主要应用于商用POS、网点终端、直连终端等设备上,支持多级发卡机制,适用于多应用的环境,符合识别卡、带触点的集成电路卡标准、ISO/IEC 7816—1/2/3/4以及《中国人民银行PSAM卡规范》。 1 PSAM卡简介 PSAM卡是接触式CPU卡的一种。CPU卡也称智能卡,卡内集成电路带有微处理CPU,存储单元
[单片机]
stm32专题二十五:基本定时器原理
STM32F103系列的定时器: 定时器功能:定时、输入比较、输出捕获、互补输出; 定时器分类:基本定时器、通用定时器、高级定时器; 定时器资源:高级定时器(2个)TIM1 和 TIM8;通用定时器(4个)TIM2 / 3 / 4 / 5;基本定时器(2个)TIM6 和 TIM7; 定时器功能表: 基本定时器功能简介: 计数器16bit,只能向上计数,只有TIM6和TIM7; 没有外部的GPIO,是内部资源,只能用来定时; 时钟来自PCLK1,为72M,可实现1~65536分频; 基本定时器的结构框图: 1 时钟源(72M): 2 控制器 控制器用于控制定时器的:复位、使能、计数、触发DAC,涉及到的寄存器为:CR
[单片机]
STM32单片机(11) DS18B20温度传感器实验
本程序主要实现 DS18B20温度传感器数据获取,并利用串口通信把温度数据传至计算机 注:使用普中科技开发板测试时,需要拔掉Boot1插口,因为用到的是PA15管脚, 由开发板电路图可知,需要改变PA15 管脚的映射,将其设置成普通IO口 参考资料 DS18B20中文手册.pdf http://download.csdn.net/detail/leytton/7742193 STM32-外设篇 视频教程(Cortex-M3)-主讲人:刘洋 http://yun.baidu.com/pcloud/album/info?uk=2853967793&album_id=5492137931588632574 main.c /**
[单片机]
关于STM32 ADC时采用DMA的一点疑问
手册上有这样的话:只有ADC1能够产生DMA请求,似乎是只有ADC通道1能采用DMA方式传输数据。 但是万利的开发板上的ADC例子,用的是ADC通道10,还用了DMA 方式传数据。 所以我猜测 “只有ADC1能够产生DMA请求”中提到的ADC1 并不是指ADC 通道1, 而是软件可配置的 ADC 通道的分类形式,可分为ADC1和ADC2. 我们可将 通道10(或其他)配置成ADC1 “模式”。通过函数 /* ADC1 regular channel10 configuration */ ADC_RegularChannelConfig(ADC1, ADC_Channel_10, 1, ADC_SampleTime_5
[单片机]