【韦东山】7天物联网智能家居实战训练营基础班-DAY4_中断系统

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

一、什么是中断

1、中断的定义

中断的定义大家都很熟悉,是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行,如图所示。
在这里插入图片描述

2、中断的种类

中断的种类由ARM公司进行设计,不同的芯片之间的中断种类是不一样的,ARM的cortex—M3有256种中断,中断的来源有两种,但两种的表现的效果都是一样的:

  • 系统异常:由CPU内部产生的紧急事件,例如:非法指令
  • 外部中断:由外设产生的外部的紧急事件,例如:GPIO电平的变化、定时器溢出等

二、中断文件

1、中断向量表

这是STM32F103C8T6的中断向量表,由十种系统异常和六十种外部中断组成,其中:Reset(复位端)、NMI、HardFault(硬件异常)三个的优先级是负数,其他的优先级是正数。
在这里插入图片描述

2、在函数中位置

程序里,在startup_stm32f103xb.s文件中有中断向量表,里面有当前芯片所支持的中断。当发生中断时,会找到相应的中断处理函数的位置,执行中断函数。
在这里插入图片描述

三、中断优先级

中断优先级由NVIC(Nested Vectored lnterrupt Controller)管理所有的中断,包括系统异常和外部中断,优先级由两者组成,优先级值越小优先级高,负数的不能修改,正数不能变成负数

  • 抢占优先级:中断嵌套
  • 子优先级:相应顺序在这里插入图片描述
    优先级中的顺序问题:
  1. 抢占优先级高的中断可以中断抢占优先级低的中断:先比较抢占优先级
  2. 两个中断的抢占优先级相同,后来中断要等前面的中断处理完:抢占优先级相同,已经在执行的,即使后面的
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 蓝牙模块实战是指通过使用Python语言中的蓝牙模块来进行实际操作和应用。韦东山是著名的Python开发者和教育家,他在Python蓝牙模块的使用和应用方面有丰富的经验和知识。 在Python中,我们可以使用第三方库如pybluez来实现与蓝牙设备的通信。通过这个模块,我们可以通过Python代码实现蓝牙设备的搜索、连接、发送和接收数据等功能。 首先,我们需要安装pybluez库,可以使用pip命令进行安装。安装完成后,我们可以导入pybluez库,并使用相关函数进行蓝牙设备的搜索和连接。我们可以通过搜索函数找到附近的蓝牙设备,并获取设备的地址和名称等信息。然后,我们可以使用连接函数与指定的蓝牙设备建立连接。 一旦连接建立成功,我们就可以使用发送和接收函数来进行数据的交互。我们可以向蓝牙设备发送指定的数据,并在设备端接收并进行处理。类似地,我们也可以在设备端发送数据,然后在Python端使用接收函数进行获取和处理。 Python蓝牙模块实战可以应用于各种领域,如物联网、远程控制、传感器数据采集等。例如,我们可以通过Python代码实现与蓝牙智能家居设备的通信,对设备进行远程控制和监测。另外,我们也可以通过Python蓝牙模块实现与车载设备的通信,实现远程解锁、启动和关锁等功能。 总而言之,Python蓝牙模块实战是基于Python语言的蓝牙通信实际应用,通过使用pybluez库等第三方模块,实现蓝牙设备的搜索、连接和数据传输等功能。韦东山作为Python开发专家,对于Python蓝牙模块的实际应用和开发有丰富的经验和知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值