网站大量收购闲置独家精品文档,联系QQ:2885784924

510第6章CortexM3异常与NVIC分解.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
可知使用EXTI中断时还需要配置应该包括: 7、选择EXTI的输入线路? GPIO 的复用选择设置 小结:完成EXTI中断时需要配置应该包括: 1、设置中断号,选择哪里中断? 2、选择优先级分组为第几组? 3、抢占式优先级为多少? 4、响应优先级为多少? 5、配置上升沿或下降沿触发选择寄存器? 6、配置中断屏蔽寄存器? 7、选择EXTI的输入线路? 对应的中断服务程序 结构体NVIC_InitTypeDef 结构体 EXTI_InitTypeDef 用到:stm32f10x_it.c stm32f10x_it.h GPIO复用选择 void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup); void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct); void EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct); void EXTI_ClearITPendingBit(u32 EXTI_Line); 常用函数(除常用GPIO函数外) NVIC 库函数 ,见书199 void GPIO_EXTILineConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource) void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState); EXIT 库函数 ,见书198 GPIO库函数 ,见书187 RCC库函数 ,见书191 7、外部中断例程 设计要求:当按下按键S1时,发光二极管DS1的状态改变一次;当按下按键S2时,发光二极管DS2的状态改变一次;以此类推。(采用中断方式编程) 程序设置如下: 设置好相应的时钟 设置相应的中断,包括中断号、优先级、中断允许 将相应的GPIO口设置为中断线路 (要在设置外部中断之前)并初始化 I/O口初始化,包括按键及LED 完成中断服务(响应)函数 主程序 //引脚定义 #define RCC_GPIO_LED RCC_APB2Periph_GPIOF /*LED使用的GPIO时钟*/ #define LEDn 4 /*IIILED数量*/ #define GPIO_LED GPIOF /*IIILED灯使用的GPIO组*/ #define DS1_PIN GPIO_Pin_6 /*DS1使用的GPIO管脚*/ #define DS2_PIN GPIO_Pin_7 /*DS2使用的GPIO管脚*/ #define DS3_PIN GPIO_Pin_8 /*DS3使用的GPIO管脚*/ #define DS4_PIN GPIO_Pin_9 /*DS4使用的GPIO管脚*/ #define GPIO_LED_ALL DS1_PIN |DS2_PIN |DS3_PIN |DS4_PIN #define RCC_KEY1 RCC_APB2Periph_GPIOD #define GPIO_KEY1_PORT GPIOD #define GPIO_KEY1 GPIO_Pin_3 #define RCC_KEY2 RCC_APB2Periph_GPIOA #define GPIO_KEY2_PORT GPIOA #define GPIO_KEY2 GPIO_Pin_8 #define RCC_KEY3 RCC_APB2Periph_GPIOC #define GPIO_KEY3_PORT GP

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档