题外话:
几乎所有的要学习的实在或虚拟的事物(或仅仅是一个理论)都可以用下面的方法对其了解;
但对于具体某一个事物不一定需要全部研究下面的项目;
什么是XXX
为什么要XXX
XXX的分类
XXX的组成
XXX的特点
XXX的流程
用及XXX时注意事项
其他特有项目
-----------------------------------------------
stm32中断主题:
1 什么是中断
暂停原先的程序或事情,执行另外一些程序或事情,执行完成后返回原来的程序。
2 为什么要中断
因为另一些程序或事情比你原先正在做的事情要重要,或者这些突发事情你是无法控制它的来临的。
3 中断的分类
按不同方法进行分类
3.1 内部中断,外部中断 (向量表中灰色为内部)
3.2 可设置中断,固化中断
3.3 中断向量表 (cl级别的芯片有10个内部 ,0~67个外部,一些没用到,其中通用化 中断编号0~17,个性化中断编号18~67)
3.4 优先级别 (由主优先级和从优先级组成,主从优先级可以通过4个位进行设置)
4 中断的组成
具体中断的名称
中断的地址 用来保存一条跳转指令,跳到哪里去
5 中断的特点
STM32的中断NVIC是嵌入CORTEX内核的。
5.1中断的反应的速度就很快。
5.2中断可以实现标准话
(上面两点是ARM公司做的)
5.3所有外部IO端口都可以作为外部中断
(上面一点是ST公司做的)
5.4有不同的优先级,只有主优先级相同的中断才可以嵌套,
6 中断的配置流程
6.1 时钟配置
6.2 GPIO配置
6.3 外设中断配置(EXTI中断也属于外设中断)
6.4 NVIC总中断配置
6.5 中断程序编写
7 其中 EXTI中断配置流程及内容
官方参考手册P206可知 ,3个触发,3个控制
触发:上升沿 下降沿 软件中断事件
控制:中断屏蔽寄存器 请求挂起寄存器 事件屏蔽寄存器
*不同的外设中断配置流程及内容可能不同
*其中6.3是变化的,根据要使用的中断而定,其他配置基本相同,只是参数不同。
8 几个概念区分
NVIC ,NVIC 外设中断 , NVIC 外部接口中断 EXTI
简单来说 NVIC>NVIC外设中断>EXTI
其中NVIC是总的嵌套向量中断 就是整个向量表
外设中断 是向量表中非灰色地带
而EXTI仅仅是外设中断的一部分(由于它用的比较广泛且与其他外设中断有所不同,因此拿出来单独讲)
由于EXTI有很多很多,所以STM把他们进行了分组,分了7组,每组对应了一个NVIC外设。
EXTIO--------------------------------------------------(包括PA0 PB0 PC0 PD0 PE0 PF0 PG0)
EXTI1
EXTI2
EXTI3
EXTI4
EXTI9_5
EXTI15_10
关键字:STM32 中断
引用地址:
STM32中断理解
推荐阅读最新更新时间:2024-03-16 15:43
关于STM32的ADC/DAC问题集锦
1、STM32的DAC转换是什么开始的呢? 问:STM32的DAC转换是什么开始的呢?如何利用DAC输出一个脉宽的控的单脉冲呢? 答:DAC是通过写入DAC输出寄存器开始的。另外,如果想要脉冲,使用TIM功能。 2、STM32的DAC输出电压 问:DAC的输出电压是如何调节的呢,输入的数字量和输出的电压怎么不成比例呢,输出电压不符合数据手册上提供的公式(DAC输出 = VREF X DOR / 4095),求高人指点,程序如下: #include stm32f10x_lib.h #define DAC_DHR8R1_Address 0x40007410 DAC_InitTypeDef DAC_InitStructure;
[单片机]
【STM32】HAL库-电源控制(低功耗模式)
电源框图 ADC单独供电 为了提高转换的精确度,ADC使用一个独立的电源供电,过滤和屏蔽来自印刷电路板上的毛刺干扰。 ADC的电源引脚为VDDA 独立的电源地VSSA 电池备份区域 当VDD断电时,可以保存备份寄存器的内容和维持RTC的功能。 VBAT为RTC、LSE(低速外部时钟)振荡器、备份寄存器和PC13至PC15供电。 当备份区域由VDD(内部模拟开关连到VDD)供电时,下述功能可用: PC14和PC15可以用于GPIO或LSE引脚 PC13可以作为通用I/O口、TAMPER引脚、RTC校准时钟、RTC闹钟或秒输出 当后备区域由VBAT供电时(VDD消失后模拟开关连到VBAT),可以使用下述功能:
[单片机]
基于STM32的printf串口数据输出
该方法适用于STM32,实现了使用printf等标准C流函数输出数据的办法,极大的减少了输出串口数据时所需要做的数据处理。 实现原理 在C库中,printf()等输出流函数都是通过fputc()这个函数实现的,所以我们通过重映射的方式,修改这个函数的定义使它输出在STM32的寄存器中,便可以实现使用printf()函数在STM32串口上输出数据的功能。 Keil环境 重映射 在STM32的Keil开发环境中,C的库函数有两种实现方式 使用标准的C函数库 就是我们平常在PC Window平台上用的C库函数,此库的的优点在于实现的功能全面。但是由于这个库基本上是专为PC设计的,故而如果在嵌入式芯片中调用时将会使得工程文件变
[单片机]
STM32之 IP ICMP ETHERNET的实现
1.前言 嵌入式以太网开发是一个很有挑战性的工作。通过几个月的学习,个人觉得大致有两条途径。第一条途径,通过高级语言熟悉socket编程,例如C#或C++,熟悉bind,listen,connect,accept等函数,在嵌入式系统中应用 lwIP协议栈。第二种途径,通过分析嵌入式以太网代码,结合TCPIP协议栈规范逐步实践协议栈代码。第一种途径效率高,开发周期短,编写出来的代码性能稳定,第二种途径花的时间长,开发出来的代码功能不完善,但是由于紧紧结合TCPIP规范,可以了解的内容较多,适合学习。本文通过分析和修改AVRNET源码并移植到STM32平台,逐步实现TCPIP协议栈的各个子部分,包括ETHERNET部分,ARP部分,I
[单片机]
基于STM32的Doxygen使用简明手册
为了能使代码能够被Doxygen识别,必须遵循Doxygen的书写规则。注释必须以/打头,以*/结束。 一、添加类型 1、 添加首页(mainpage): 格式: / \mainpage RIOM DSP Software Library * * b Introduction /b * * This user manual describes the CMSIS DSP software library */ 关键字: \mainpage 描述: 用以显示在首页中,一般用于对整个工程进行描述。 2、 添加define分组(defgroup): 格式: / @defgroup ZHM2
[单片机]
STM32笔记(八)---通信概念
一、串并行概念 1-1 概念 按数据传送的方式,通讯可分为串行通讯与并行通讯。 串行通讯是指设备之间通过少量数据信号线(一般是 8 根以下),地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式。 并行通讯一般是指使用 8、 16、 32 及 64 根或更多的数据线进行传输的通讯方式。 并行通讯就像多个车道的公路,可以同时传输多个数据位的数据,而串行通讯就像单个车道的公路,同一时刻只能传输一个数据位的数据。 常见串行通信:USART、I2C、SPI 常见并行通信:SDIO(4位)、FSMC(16位) 1-2 串行与并行通信的特性对比 二、 全双工、半双工及单工通讯 USART、SPI均可为半/全全双
[单片机]
单片机小白学习之路(十四)---外部中断1实现蜂鸣器报警
目标:定时器和计数器的理解(一) 1.定时器/计数器简介 定时器/计数器(Timer/Counter,简称T/C)是单片机中最基本的接口之一。即可以定时又可以计数。常用于计数、延时、测量周期/脉宽/频率、提供定时脉冲信号等。 8051系列单片机至少含有2个16位的T/C,STC89C51/52含有3个T/C。其中2个为基本定时器/计数器T/C0和T/C1,另一个是T/C2。可通过软件配置为定时器功能或者计数器功能。 定时/计数器的工作原理 定时/计数器实质上是一个加1计数器。当工作在定时器模式时,对振荡源(晶振)12分频(12分频就是震荡周期,单位 是us)的脉冲计数,即每个机器周期(12个震荡周期就是1/12us12=
[单片机]
基于STM32物联网开发板(4)--LCD屏
1.概述 屏幕尺寸为1.3寸,分辨率240*240,颜色格式RGB565,驱动IC:ST7789VW; 超大可视角度:大于160°(显示屏中可视角度最大的一种屏幕); 宽电压供电(3V~5V),兼容3.3V和5V电平逻辑,无需电平转换芯片; 采用7线制SPI接口; 工作温度范围为工业级(-20℃~60℃); 军工级工艺标准,长期稳定工作; 硬件接口: 引脚 说明 LEDK PB0背光 CS PA4片选 SCL PA5时钟 SDA PA7主机输出 RES PB1复位脚(电平复位) D/C PC4数据命令选择脚 2.通讯协议 ST7789VW是一款用于262K彩色图形型TFT-LCD的单片
[单片机]