嵌入式STM32入门之STM32中断——点灯实验、串口通信

STM32中断实验

  • 一、前言
  • 二、实验要求
  • 三、中断介绍
  • 四、CuBe实现中断点灯
    • (1)新建工程
    • (2)设置管脚
    • (3)设置NVIC
    • (4)配置中断优先级
    • (5)时钟设置
    • (6)代码撰写
    • (7)实践
  • 五、中断方式实现串口通信
    • (1)题目要求
    • (2)工程设置
    • (3)代码撰写
    • (4)执行
  • 六、总结
  • 七、参考

一、前言

紧接上回实验,我们介绍了STM32的串口通信实验,学习了串口协议和RS-232标准,RS232电平与TTL电平的区别,以及"USB/TTL转232"模块(以CH340芯片模块为例)的工作原理。这里使用的STM32串口通信都是简单的通信,只需要STM32不断发送Hello Windows而已,接下来我们来介绍利用中断来点亮LED灯、以及可以完成简单交互的串口通信(依然使用USB转接口)。

二、实验要求

  1. 用stm32F103核心板的GPIOA端一管脚接一个LED,GPIOB端口一引脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED亮灯;接低电平时,LED灭灯。
  2. 采用串口中断方式重做上周的串口通信作业,分别实现:1)当stm32接收到字符“s”时,停止持续发送“Hello Windows!”; 当接收到字符“t”时,持续发送“Hello Windows!”(提示:采用一个全局标量做信号灯);2)当stm32接收到字符“stop stm32!”时,停止持续发送“Hello Windows!”; 当接收到字符“go stm32!”时,持续发送“Hello Windows!”(提示:要将接收到的连续字符保存到一个字符数组里,进行判别匹配,写一个接收字符串的函数。

三、中断介绍

与51单片机的中断基本相似,只是在51中我们的中断不是那么复杂,相对来说STM32的中断更加复杂。
M32 中断非常强大,每个外设都可以产生中断,所以中断的讲解放在哪一个外设里面去讲都不合适,这里单独抽出一章来做一个总结性的介绍。
中断:把正常正在运行的程序打断,运行中断服务函数,运行完之后再回到主程序。
**外部中断,体现在外设水平,系统异常,体现在内核水平。**中断就是异常,异常就是中断。
嵌入式STM32入门之STM32中断——点灯实验、串口通信_第1张图片

中断由NVIC这个外设来控制。(下列会特意说明STM32CuBe怎么设置)
NVIC:嵌套向量中断控制器,属于内核外设,管理着包括部

你可能感兴趣的:(stm32,单片机,arm)