第9章 STM32外部中断设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 STM32外部中断设计

NVIC配置 misc库中NVIC_Init() 函数对NVIC初始化,用到NVIC_InitTypeDef 结构体,其中四个成员: NVIC_IRQChannel参数来选择将要配置的中断向量; NVIC_IRQChannelCmd参数来进行使能(ENABLE)或关闭(DISABLE)该中断; NVIC_IRQChannelPreemptionPriority成员要配置中断向量的抢占优先级; NVIC_IRQChannelSubPriority需要配置中断向量的响应优先级。 NVIC只可配置16种中断向量的优先级:编号越小,优先级别越高; 抢占优先级:是指打断其它中断,会出现嵌套中断; 响应优先级:先处理响应优先级高的中断; 中断检测按键实验 硬件连接:PE5 – key1、 PE6 – key2 ,key1按下时,进入线中断处理函数, LED1状态取反。 配置工程环境: 除使用GPIO和RCC片上外设; 还要使用exti片上外设,stm32f10x_exti.c包含了支持exti配置和操作的函数; misc.c文件则包含了NVIC的配置函数; 本实验中还会在stm32f10x_it.c中编写中断服务函数。 Main函数 配置好LED用到的I/O后,调用LED1()点亮一盏LED灯;配置中断,等待中断发生。 int main(void) { /* config the led */ LED_GPIO_Config(); LED1( ON ); /* exti line config */ EXTI_PE5_Config(); /* wait interrupt */ while(1) { } } 配置外部中断exti.c EXTI_PE5_Config()函数,配置 PE5 为线中断口,并设置中断优先级。 主要步骤: 1. 使能EXTIx线的时钟和第二功能AFIO时钟 2. 配置EXTIx线的中断优先级 3. 配置EXTI 中断线I/O 4. 选定要配置为EXTI的I/O口线和I/O口的工作模式 5. EXTI 中断线工作模式配置 * Embedded System Development 嵌入式系统与应用 第9章 STM32外部中断设计 9.1 GPIO键盘设计 9.2 GPIO外部中断EXTI设计 9.1 GPIO 键盘设计 每个GPIO引脚都可配置为8种模式。 GPIO端口如何进行键盘设计? 下面两种办法效果一样。 一是采用上拉输入模式,按键在没按下的时候,默认为高电平。 PE5 – key1 PE6 – key2 二是直接采用浮空输入模式,在芯片外部接上拉电阻。 按键原理图 实现LED反转,main()函数 int main(void) { /* config the led */ LED_GPIO_Config(); LED1( ON ); /*config key*/ Key_GPIO_Config(); while(1) { if(Key_Scan(GPIOE,GPIO_Pin_5)== KEY_ON ) { /*LED1反转*/ GPIO_WriteBit(GPIOC, GPIO_Pin_3, (BitAction)((1-GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_3)))); } } } 读取PC3的当前输出电平 当前状态反相后写入到PC3 实现LED反转,main()函数 1、关于Led灯的代码,把前面写的led.c和led.h文件复制一份添加到工程就可以了。 2、启动文件调用了SystemInit()将系统时钟SYSCLK配置为72MHz。 3、接着进入到main函数,第一步先调用了在LED灯例程中编写的LED_GPIO_Config(),配置LED用到的I/O。 4、再使用LED1( ON )宏,把LED设置为点亮状态。 5、配置按键用到的I/O口 Key_GPIO_Config函数。 6、按键检测函数,按键时调用GPIO_WriteBit函数,实现灯反转。 设计按键函数头文件bsp_key.h #ifndef __KEY_H //条件编译 #define __KEY_H #include stm32f10x.h #define KEY_ON 0 //按键按下标志 #define KEY_OFF 1 //无按键标志 void Key_GPIO_Config(void); uint8_t

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档