stm32笔记之中断

本文详细介绍了嵌入式系统中中断的配置过程,包括NVIC设置、串口通信中断及外部中断的实现。从使能中断请求、配置优先级分组到编写中断服务函数,逐一解析关键步骤。同时,讲解了串口初始化、GPIO复用映射以及EXTI线配置,提供了一站式的中断系统应用指南。
摘要由CSDN通过智能技术生成

  • 中断
    • 中断配置
      • 使能中断请求
        • NVIC→IPRx
      • 配置优先级分组
        • 优先比较主优先级
          • NVIC_PriorityGroupConfig配置SCB
      • 配置NVIC
        • NVICInitTypeDef_ NVIC-Init
      • 编写中断服务函数
    • 串口中断
      • 使能串口、GPIO的时钟
      • 引脚复用映射
        • GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_USART1);(复用PA9的串口1功能)
      • 配置GPIO,GPIO_Init
      • 配置串口
        • USART_InitTypeDef
      • 中断配置(接收中断,中断优先级)
        • NVIC_Init(&IT_USART1_InitStructrue);
      • 使能串口
        • USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
      • 编写中断处理函数
        • USART1_IRQHandler
      • 编写收发数据处理函数
        • USARE1_detection
    • 外部中断
      • GPIO→EXTI→NVIC
        • 编程要点如下
          • 初始化要连接到EXTI的GPIO
            • GPIO的RCC
            • ,GPIO_Init
          • 初始化EXTI(用于产生中断)
            • RCC_APB2PeriphClockCmd
            • 映射函数GPIO_EXTILineConfig
            • EXTI_Init
          • 初始化NVIC(用于处理中断(那一条中断线的优先级))
            • NVIC_PriorityGroupCpnFig()
            • NVIC_Init
          • 编写中断服务函数
          • main函数
      • 通过AFIO_EXTICRx配置GPIO线上的外部中断,先使能AFIO时钟
      • 初始化EXTI
        • EXTI_InitTypeDef
          • EXTI_Line:用于产生中断线
            • 确定用哪一条(后面nvic的IRQChannel)
          • EXTIMode:EXTI模式(中断/事件)
          • EXTI?Trigger:触发(上升下降沿)
          • EXTI_LineCmd:使能或失能
      • 将GPIO和中断线连接
        • EXTILineConfig(GPIO_PortSource GPIO_PinSource)
    • 配置中断服务函数
      • 判断中断标志位if(EXTI_GetITStatus_(EXTI_Line0)!=RESET)//如果产生了中断会置1
      • 中断函数之后要清除中断位
        • EXTI_ClearITPendingBit(EXTI_Linex)

要弄外部中断的时候,初始化GPIO的时候,EXTI_line后面的数字是跟中断源引脚的数字一一对应的


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值