stm32知识点最终版!

合集下载

第4章STM32开发基础知识总结

第4章STM32开发基础知识总结

第4章STM32开发基础知识总结STM32是一款由STMicroelectronics开发的基于ARM Cortex-M内核的32位单片机系列。

它具有丰富的外设和强大的性能,被广泛应用于嵌入式系统开发领域。

本章主要介绍了STM32开发的基础知识,包括STM32的主要特点、STM32的系统结构、STM32的寄存器、中断和时钟系统等。

在这些内容中,我们可以看到STM32的强大功能和灵活调整的性能。

首先,STM32的主要特点是高性能、低功耗和易于扩展。

它具有高速的CPU、丰富的外设、多种存储器、多种通信接口等特点,可以满足不同嵌入式系统的需求。

此外,STM32采用高级微控制器接口规则(Advanced Microcontroller Bus Architecture, AMBA),使得不同外设可以方便地进行通信和控制,提高了系统的整体性能和可靠性。

另外,STM32还具有低功耗和易于扩展的特点,并且支持多种不同的睡眠模式,可以根据实际需求来管理能量消耗和系统功能。

其次,STM32的系统结构主要由核心和外设组成。

核心是STM32的处理器单元,基于ARM的Cortex-M内核,包括处理器、存储器和调试接口等。

外设是与核心进行通信和控制的设备,包括GPIO、串口、I2C、SPI 等。

在STM32中,外设被映射到特定的地址空间,可以通过读写这些地址来进行控制和数据传输。

此外,STM32还支持内存映射和外设映射,可以方便地访问外部存储器和外设。

第三,STM32的寄存器用于配置和控制外设的功能。

每个外设都有一组寄存器,用于存储和读取外设的状态和配置信息。

在STM32中,寄存器可以通过寄存器地址进行直接访问,也可以通过寄存器定义和结构体来进行访问。

通过配置寄存器,可以设置外设的工作模式、时钟频率、中断使能等。

通过读取寄存器,可以获取外设的状态、数据和中断信息。

寄存器操作是STM32开发中的重要部分,需要熟练掌握和灵活运用。

stm32知识点最终版!

stm32知识点最终版!

stm32知识点最终版!STM32是由意法半导体(STMicroelectronics)公司推出的一系列32位ARM基于Cortex-M内核的微控制器,广泛应用于各种电子设备中。

它具有高性能、低功耗、丰富的外设资源以及丰富的开发工具和生态系统,被广泛应用于嵌入式系统设计中。

1.STM32系列STM32系列包括多个不同型号的微控制器,每个型号都有其特定的功能和特点。

主要的系列包括STM32F0、STM32F1、STM32F2、STM32F3、STM32F4、STM32F7等。

2. ARM Cortex-M内核STM32采用了ARM Cortex-M内核,这是一款低功耗、高性能的32位微处理器内核。

Cortex-M内核具有良好的实时性、低功耗特性以及简洁的指令集,特别适用于嵌入式系统开发。

3.外设资源STM32具有丰富的外设资源,包括通用输入输出口(GPIO)、通用串行总线(UART、SPI、I2C)、模拟-数字转换器(ADC)、定时器(Timer)、中断控制器(NVIC)等。

这些外设资源可以灵活地满足各种应用需求。

4.开发工具和生态系统5.开发流程6.应用领域STM32被广泛应用于各种嵌入式系统设计中。

它可以用于工业控制、智能家居、电动车控制、消费电子产品等领域。

其灵活性和可扩展性使得它成为嵌入式开发人员的首选。

7.嵌入式系统设计嵌入式系统设计是指将STM32微控制器与其他硬件组件(如传感器、执行器等)结合起来,构建出具有特定功能的系统。

开发者需要熟悉硬件电路设计、嵌入式编程、通信协议等知识,以完成系统的设计和开发。

8.低功耗优化STM32具有低功耗特性,能够在运行时最大程度地减少能耗。

开发者可以通过优化代码、合理配置外设资源、使用低功耗模式等方法,进一步降低系统的功耗,延长设备的使用时间。

9.实时性要求STM32的Cortex-M内核具有良好的实时性,可以满足实时控制和处理要求。

开发者可以使用定时器、中断和DMA等机制,保证系统对实时事件的快速响应和处理。

STM32单片机的知识点总结

STM32单片机的知识点总结

STM32单片机的知识点总结STM32 单片机是意法半导体公司(STMicroelectronics)推出的一款基于 ARM Cortex-M 内核的 32 位微控制器。

它集成了高性能的处理器、丰富的外设和丰富的通信接口,具有低功耗、高性能和可扩展性等特点。

在学习 STM32 单片机的过程中,有以下一些关键的知识点需要掌握。

1. ARM Cortex-MSTM32 单片机采用 ARM Cortex-M 内核,包括 Cortex-M0、Cortex-M3、Cortex-M4 和 Cortex-M7 四个系列。

不同系列的 Cortex-M 内核具有不同的性能和特性,需要根据应用的需求选择适合的型号。

2.STM32单片机硬件架构3. STM32 CubeMX4.STM32外设STM32单片机具有丰富的外设,包括GPIO、定时器、UART、SPI、I2C、ADC、DAC、PWM等。

了解这些外设的特性和使用方法,可以实现各种不同类型的应用,如数字输入输出、定时控制、串行通信、模拟信号采集等。

5.STM32中断6.STM32时钟7.STM32低功耗模式8.STM32中文手册9.STM32HAL库STM32 提供了一套硬件抽象层(Hardware Abstraction Layer,HAL)库,用于快速开发和移植应用程序。

了解 STM32 HAL 库的使用方法,可以快速搭建 STM32 系统,并简化底层驱动编程。

10.STM32串口调试和编程以上是关于STM32单片机的一些关键知识点的总结,希望能对您的学习与应用有所帮助。

当然,除了这些知识点之外,还有很多其他的内容需要深入学习和探索,如实时操作系统(RTOS)、外设驱动、外部存储器接口等。

不断学习和实践将帮助您更好地掌握和应用STM32单片机。

STM32相关知识点总结讲解

STM32相关知识点总结讲解

STM32相关知识点总结讲解STM32是意法半导体公司(STMicroelectronics)推出的32位ARM Cortex-M处理器系列的微控制器。

它们具有较高的性能、较低的功耗以及丰富的外设和功能,适用于各种应用领域,例如工业自动化、嵌入式系统、通信设备等。

下面将对STM32相关的知识点进行总结讲解。

1.STM32系列的分类:STM32系列微控制器分为多个系列,主要有STM32F0、STM32F1、STM32F2、STM32F3、STM32F4、STM32F7、STM32L0、STM32L1、STM32L4等。

不同系列的微控制器具有不同的特点和应用领域,可以根据实际需求选择适合的系列。

2. Cortex-M处理器:STM32微控制器采用了ARM Cortex-M处理器架构,主要有Cortex-M0、Cortex-M0+、Cortex-M3、Cortex-M4和Cortex-M7等几个版本。

这些处理器具有较高的性能和较低的功耗,适合于嵌入式系统开发。

3. 开发工具:STM32微控制器可以使用ST官方提供的开发工具进行开发,主要有STM32CubeMX、IDE工具(如STM32CubeIDE、Keil MDK等)以及调试工具(如ST-Link、J-Link等)。

使用这些工具可以进行代码生成、开发环境配置、调试等操作。

4.外设:STM32微控制器内置了多种外设,如通用串行总线(USART、SPI、I2C等)、通用定时器(TIM)、模数转换器(ADC)、通用输入输出端口(GPIO)等。

这些外设可以进行数据通信、定时器计数、模数转换等操作,方便开发各种应用。

5. STM32Cube库:ST官方提供了STM32Cube库,其中包括了针对不同系列的微控制器的驱动程序、例程和中间件支持。

开发者可以使用这些库函数进行硬件驱动和功能开发,简化了开发过程。

6. 库函数:使用STM32Cube库函数可以方便地配置和操作STM32微控制器的各种功能,例如配置外设的参数、控制时钟、中断配置等。

stm32大类知识点

stm32大类知识点

stm32大类知识点STM32是一款由STMicroelectronics公司推出的32位单片机系列产品。

该系列产品具有强大的性能和丰富的外设,被广泛应用于嵌入式系统开发。

下面将介绍STM32大类知识点。

1. 架构:STM32系列产品基于ARM Cortex-M内核,分为多个系列,包括STM32F0、STM32F1、STM32F2、STM32F3、STM32F4、STM32F7、STM32H7等。

每个系列都有不同的性能和外设集。

2. GPIO:通用输入输出端口(GPIO)是STM32微控制器的基本外设之一。

它可以作为输入或输出,用于连接外部设备或传感器,实现与外界的数据交互。

3. 定时器:STM32系列微控制器配备了多个定时器模块,用于产生定时和计数操作。

定时器可以用于延时、脉冲宽度调制(PWM)、捕获输入等应用。

4. 中断:STM32支持多种中断类型,包括外部中断、定时器中断、串口中断等。

中断用于实现多任务处理,提高系统的响应速度和实时性。

5. 串口通信:STM32支持多种串口通信接口,如UART、USART和SPI等。

这些接口可以用于与其他设备进行数据交换,如PC、传感器、外部存储器等。

6. ADC和DAC:模数转换器(ADC)和数字模拟转换器(DAC)是STM32重要的模拟外设。

ADC用于将模拟信号转换为数字信号,DAC则将数字信号转换为模拟信号。

7. 外部存储器接口:STM32可以与外部存储器(如闪存、SD卡等)进行通信,实现数据的读写和存储。

8. 嵌入式操作系统支持:STM32支持多种嵌入式操作系统,如FreeRTOS、uC/OS和Zephyr等,用于实现复杂的任务调度和多线程处理。

9. 低功耗模式:STM32具有多种低功耗模式,如睡眠模式和待机模式,可用于延长电池寿命和降低系统功耗。

10. 开发工具和环境:针对STM32的开发可以使用ST公司提供的STM32Cube 开发平台,其中包括STM32CubeMX配置工具、STM32Cube HAL库和STM32Cube IDE集成开发环境等。

关于stm32的知识总结

关于stm32的知识总结

关于stm32的知识总结关于STM32的知识总结STM32是一款由STMicroelectronics公司推出的32位单片机系列产品,广泛应用于各种嵌入式系统中。

它具有高性能、低功耗、丰富的外设资源和灵活的开发环境等特点,使其成为了嵌入式系统设计的首选。

一、STM32的特点1. 高性能:STM32系列搭载了Cortex-M系列的处理器核心,具有较高的运算能力和响应速度。

同时,它还集成了多个硬件加速器,如DMA(直接存储器访问)控制器和浮点运算单元,可以有效提升系统性能。

2. 低功耗:STM32采用了先进的低功耗技术,包括多级睡眠模式、功耗调节功能和时钟管理等,以降低功耗并延长电池寿命。

此外,它还支持动态电压调节(DVC)和功耗域(PD)控制,以根据实际需求灵活管理功耗。

3. 丰富的外设资源:STM32系列提供了丰富的外设资源,包括通用输入输出(GPIO)、定时器、串行通信接口(UART、SPI、I2C)、模数转换器(ADC)、模拟比较器、PWM输出等。

这些外设的存在,极大地简化了系统设计,并且可以满足各种不同应用的需求。

4. 灵活的开发环境:STM32系列支持多种开发环境,如Keil、IAR 等,同时还提供了丰富的软件库和示例代码,以便开发人员快速上手。

此外,ST公司还提供了一套完整的开发工具链,包括编译器、调试器和仿真器等,方便用户进行开发、调试和测试。

二、STM32的应用领域1. 工业自动化:STM32具有良好的实时性和可靠性,可以广泛应用于工业自动化领域,如PLC(可编程逻辑控制器)、DCS(分布式控制系统)和工业机器人等。

2. 智能家居:STM32的低功耗特性使其非常适合用于智能家居领域,如智能插座、智能灯光控制和智能门锁等。

同时,其丰富的外设资源也可以实现与各种传感器和执行器的连接。

3. 汽车电子:STM32具有较高的抗干扰能力和稳定性,可以在汽车电子系统中发挥重要作用。

它可以用于车身电子、发动机控制、车载娱乐系统等。

STM32常见知识点

STM32常见知识点

STM32常见知识点1.STM32系列:STM32单片机有多个系列,如STM32F0、STM32F1、STM32F4等。

每个系列有不同的特性和性能,开发者可以根据需求选择最合适的系列。

2. Cortex-M内核:STM32使用ARM Cortex-M系列内核,这是一种简化的、高效的内核,适用于嵌入式系统开发。

Cortex-M内核有不同的版本,如Cortex-M0、Cortex-M3、Cortex-M4等,具有不同的特性和性能。

4.引脚:每个STM32芯片都有一定数量的GPIO引脚,可以用于输入输出。

引脚的数量和功能因芯片而异,要根据需要选择合适的芯片。

开发者可以通过配置寄存器将引脚设置为输入或输出,并通过读写寄存器来读取或改变引脚状态。

6.中断:STM32具有中断控制器,可以支持多种中断源,如外部引脚中断、定时器中断等。

开发者可以通过配置中断控制器和外设来实现中断处理程序,提高系统的实时性和响应能力。

7.定时器:STM32具有多个定时器模块,可以用于生成定时延迟、PWM输出、计时等功能。

开发者可以通过配置定时器的预分频、自动重载值和工作模式来实现不同的定时任务。

8.串口:STM32具有多个串口模块,可以用于与其他设备进行通信,如PC、传感器、无线模块等。

开发者可以通过配置串口的波特率、数据位数、停止位数和校验位等参数来实现不同的串口通信需求。

9.ADC:STM32具有多个ADC模块,可以用于模拟信号的采集。

开发者可以通过配置ADC的分辨率、采样速率和引脚选择等参数来实现模拟信号的采集。

10.外设:除了上述常见的模块外,STM32还具有其他丰富的外设模块,如CAN总线、SPI、I2C等。

开发者可以根据具体需求选择合适的外设模块,以实现更多功能。

11.FLASH和RAM:STM32芯片内置一定容量的FLASH和RAM,用于存储程序代码和数据。

开发者可以通过编译器和链接器将程序代码和数据加载到芯片的FLASH和RAM中,并进行读写操作。

STM32超强笔记

STM32超强笔记

STM32学习笔记1、 AHB系统总线分为APB1(36MHz)和APB2(72MHz),其中2>1,意思是APB2接高速设备2、相当于(里面有基本的位操作定义),另一个为专门控制外围器件的配置,也就是开关头文件的作用3、 HSE Osc(High Speed External Oscillator)高速外部晶振,一般为8MHz,HSI RC(High Speed InternalRC)高速内部RC,8MHz4、 LSE Osc(Low Speed External Oscillator)低速外部晶振,一般为,LSI RC(Low Speed InternalRC)低速内部晶振,大概为40KHz左右,提供看门狗时钟和自动唤醒单元时钟源5、 SYSCLK时钟源有三个来源:HSI RC、HSE OSC、PLL6、 MCO[2:0]可以提供4源不同的时钟同步信号,PA87、 GPIO口貌似有两个反向串联的二极管用作钳位二极管。

8、总线矩阵采用轮换算法对系统总线和DMA进行仲裁9、 ICode总线,DCode总线、系统总线、DMA总线、总线矩阵、AHB/APB桥10、在使用一个外设之前,必须设置寄存器RCC_AHBENR来打开该外设的时钟11、数据字节以小端存储形式保存在存储器中12、内存映射区分为8个大块,每个块为512MB13、 FLASH的一页为1K(小容量和中容量),大容量是2K。

14、系统存储区(SystemMemory)为ST公司出厂配置锁死,用户无法编辑,用于对FLASH 区域进行重新编程。

所以我们烧写程序务必选择BOOT1 = 0,这样通过内嵌的自举程序对FLASH进行烧写,比如中断向量表和代码15、STM32核心电压为16、STM32复位有三种:系统复位、上电复位、备份区域复位。

其中系统复位除了RCC_CSR 中的复位标志和BKP中的数值不复位之外,其他的所有寄存器全部复位。

触发方式例如外部复位、看门狗复位、软件复位等;复位由于外部电源的上电/掉电复位或者待机模式返回。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.*嵌入式系统:以计算机技术为基础,以应用为中心,软件硬件可剪裁,适合应用系统对功能可靠性、成本、体积、功耗严格要求的专业计算机系统。

2.*嵌入式系统与传统系统等所区分的三个特征:微处理器通常由32位以上的RISC组成;软件通常是以嵌入式操作系统为核心,外加用户应用程序;具有明显的可嵌入性。

3.*嵌入式系统的应用:智能消费电子中;工业控制中;医疗设备中;信息家电及家庭智能管理系统;网络与通信系统中;环境工程;机器人。

4.*ARM定义的三大分工明确的系列:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用(针对日益增长的运行包括linux、Windows、CE和Android在内的消费电子和无线产品);“R”系列针对实时系统(针对需要运行实时操作系统来惊醒控制应用的系统,包括汽车电子、网络和影像系统);“M”系列对胃控制器和点成本应用提供优化(针对开发费用低功耗低,同时针对性能要求不断增加的嵌入式应用而设计,如汽车车身控制系统和各种大型家电)。

5.ARM Cortex处理器系列是基于ARMv7构架的产品,既有ARM Cortex-M系列,也有高性能的A系列。

6.NEON技术是64/128位SIMD指令集,用于新一代媒体和信号处理应用加速。

NEON支持8位,16位,32位,64位整数及单精度浮点SIMD操作,以进行音频,视频、图像和游戏的处理。

7.ARM Cortex-M3处理器的特点:性能丰富成本低,低功耗,可配置性能强,丰富的链接。

8.*STM32F10x处理器分为:101,102,103,105,107。

9.*STM32的总线速度:USB接口速度12Mb/s;USART接口速度4.5Mb/s;SPI接口速度可达18Mb/s;IC接口速度400kHz。

10.STM32系列处理器的优点:先进的内部结构;三种功耗控制;最大程度集成整合;出众及创新的外设。

11.STM32F10x按性能分为:基本型STM32F101,USB基本型STM32F102,增强型STM32F103,互联网型STM32F105、STM32F107系列。

12.STM32F103RBT6系列的命名规则:R-引脚数量、B-Flash大小、T-封装、6-工作温度。

13.*STM32F103按照引脚功能分为:电源、复位、时钟控制、启动配置、输入输出口。

14.STM32F103总线系统包括:驱动单元、被动单元、总线矩阵。

15.最小系统是指仅包含必须的元器件、仅可运行最基本软件的基本系统。

16.典型的最小系统包括:微控制器芯片、供电电路、时钟电路、复位电路、启动配置电路和程序下载电路。

第三章1.STM32标准库命名则:PPP_Init:根据PPP_InitTypeDef中指定的参数初始化外设ppp;PPP_DeInit:将外设PPP寄存器重设为缺省值;PPP_StructInit:将PPP_InitTypeDef结构中的参数设为缺省值;PPP_Cmd:使能或失能PPP外设;PPP_ItConfig:使能或失能PPP外设的中断源;PPP_GetITStatus:判断PPP外设中断发生与否;PPP_ClearITPendingBit:清除PPP外设中断待处理标志位;PPP_DMAConfig:使能或者失能PPP外设的DMA接口;PPP_GetFlagStatus:检查PPP外设的标志位;PPP_ClearFiag:清除PPP外设的标志位。

2.文件结构:每个C程序通常分为两个文件,一个文件用于保存程序的声明,成为头文件,以.h为后缀。

另一个用于保存程序的实现,称为源文件,以.c后缀。

3.C语言的关键字有32个,根据作用分为数据类型、控语言、储存类型、其他关键字。

4.指针:是C语言中广泛使用的一种数据类型.5.指向数组元素的指针定义一个整形数组和一个指向整型的指针变量:Int a [10];Int*p=NULL;//定义指针式要初始化P=a;//数组名a为数组第0个元素的地址//与p=&a[0]等价P+i和a+i表示a[i]的地址;*(p+i)和*(a+i)表示P+i和a+i内容。

6.结构体:是由基本数据类型构成的,并并一个标识符来命名的各种变量的组合。

7.定义结构体的格式一般为:Struct结构名{类型变量名;...}结构变量;如果去掉结构变量,就成为对结构的说明。

8.CMSIS是独立于供应商处理器硬件抽象层。

9.CMSIS软件架构:用户应用层,操作系统及中间件接口层,CMSIS层和硬件层。

10.CMSIS层主要由:核内外设访问层CPAL;中层件访问层MWAL;设备外设访问层DPAL。

11.STN32F10x标准外设库是一个固件函数包。

由程序、数据结构、宏组成。

12.Libraries文件夹下是标准库的源代码及启动文件。

13.Startup_stm32f10x_X.s是用汇编写的系统启动文件,X表示不同芯片型号。

14.初始化时钟:执行main()函数前调用SystemInit()函数初始化系统时钟。

15.Project文件夹下是采用标准库写的一个工程模版和例子。

(图3-4)16.Const的作用:声明只读变量。

Typedef:给数据类型取别名。

Volatile:说明变量在程序执行中。

第四章1.IO端口的多种模式:输入浮空(什么都不接)、输入上拉(接上拉电阻,输入高电平)、输入下拉、模拟输入(ADC)、开漏输入(本身不输出电压,接上拉电阻)、推挽式输出(直接输出高低电平)、推挽式复用功能、开漏复用功能。

2.GPIO常用库函数:GPIO-init(根据GPIO-Initstruct指定的参数初始化外设GPIOx寄存器)、GPIO_ReadInputDataBit(读取指定端口管脚的输入)、GPIO_ReadInputData(读取指定的GPIO端口输入)、GPIO_ReadOutputDataBit、GPIO_ReadOutputdata、GPIO_SetBits(设定指定的数据端口位)、GPIO_ResetBits(清除指定的数据端口位)、GPIO_WriteBits(设置或清除指定的数据端口位)、GPIO_Write(向指定GPIO端口写入数据)、GPIO_EXTILineConfig(选择GPIO管脚用作外部中断线路)3.*gpio使用流程:声明GPIO初始化结构体GPIO_InitTypeDef-->使能GPIO端口时钟RCC_APB2PeriphClockCmd--> 填充GPIO初始化结构体参数GPIO_Pin、GPIO_Speed、GPIO_Mode--> 完成GPIO端口设置GPIO_Init。

4.闪烁灯程序流程图:GPIO配置GPIO_Config --> 输出低电平,点亮LED,GPIO_ResetBits--> 延时delay--> 输出高电平,熄灭LED,GPIO_SetBits第5章.STM32单片机外部中断一、中断的相关概念1.中断:单片机执行主程序时,由于某个事件的原因,暂停主程序的执行,调用相应的程序处理该事件,处理完毕后再自动继续执行主程序的过程。

2. 中断的优先级:由中断的嵌套可以看出,不同事件的重要程度不同。

重要的事件可以打断相对不重要的事件的处理,用户可以根据自己的需求对不同的事件设定重要级别3. 中断的嵌套:如果在执行一个中断时又被另一个更重要的事件打断,暂停该中断处理过程转去处理这个更重要的事件,处理完毕后再继续处理本中断的过。

低优先级的中断服务可被高优先级中断源中断,反之不能;任何一种中断,一旦响应不会被同级中断源的请求所打断4. 中断源:可以引起中断的事件称为中断源5. 中断服务程序与中断向量:为了处理中断而编写的程序称为中断服务程序,对应中断服务程序的入口地址被称为中断向量6. 中断请求、中断响应、中断处理及中断返回:中断源对主程序或中断服务程序提出中断要求,叫作中断请求;主程序或中断服务程序接受中断请求,进入中断服务程序的过程叫作中断响应;执行中断服务程序的过程叫作中断处理;中断服务程序执行完毕后回到主程序或者次一级别中断服务程序的过程叫作中断返回7. 中断系统:实现中断处理功能的软件、硬件系统称为中断系统二、中断控制器1.STM32F103的中断系统由嵌套中断向量控制器NVIC,外部中断/事件控制器EXTI,各外设中断控制部份2.配置软硬件中断/事件请求过程:硬件中断选择;硬件事件选择;软件中断/事件选择;外部中断/事件线路映射。

图5-4(85页)三、中断执行过程和中断嵌套:优先级:抢占优先级高的先处理,抢占优先级相同,则响应优先级高的先执行。

四、外部应用中断设计:(1)NVIC_PriorityGroupConfig(设置优先级分组,抢占优先级和响应优先级)例:NVIC_PriorityGroupConfig (NVIC_PriorityGroup_1)设置优先级分组为第一组(2)NVIC_Init(根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器)五、EXTI函数库:EXTI_Init(将外设EXTI寄存器重设为缺省值)、EXTI_GetFlagStatus(检查指定的EXTI线路标志位设置与否)、EXTI_ClearFlag(清除EXTI线路挂起标志位)、EXTI_GetITStatus(检查指定的EXTI线路触发请求发生与否)、EXTI_ClearITPendingBits(清除EXTI线路挂起位)。

六、STM32中断的设计(1)NVIC设置流程:声明NVIC结构体NVIC_InitTypeDef S 选择中断分组NVIC_PriorityGroupConfig()—》选择中断通道S.NVIC_IRQChannel—》设置优先抢占级S.NVIC_IRQChannelPreemptionPriority—》设置响应优先级S.NVIC_IRQChannelSubPriority中断使能S.NVIC_IRQChannelCmd —》调用函数完成配置NVIC_Init()(2)GPIO外部中断端口配置流程图:声明GPIO和EXTI结构体GPIO_InitTypeDef G EXTI_InitTypeDef E-->GPIO设置-->选择中断管脚GPIO_EXTILineConfig()--> 选择中断线路E.EXTI_Line--> 设置中断请求E.EXTI_Mode --> 设置中断触发方式E.EXTI_trigger --> 中断线路使能E.EXTI_LineCmd --> 完成设置EXTI_Init(3)中断服务程序处理流程图:进入中断--> 检测中断线请求EXTI_GetITStatus中断处理内容Func()--> 清除中断信号挂起位EXTI_GetITStatus()--> 中断返回(4)按键中断控制LED程序流程图:开始--> LED初始化配置LED_Config--> 按键初始化配置KEY_Config--> 输出低电平,点亮LEDGPIO_ResetBits--> 死循环等待按键中断while(1)进入中断--> 检测中断线请求EXTI_GetITStatus--> LED状态取反GPIO_WriteBits 清除中段线路挂起位EXTI_GetITStatus --> 跳出中断(5)中断服务程序主要完成什么工作:中段线路状态检测、中断处理内容、中断清除(6)Stm32最多支持84个中断16个优先级(7)32中断设计包括NVIC设计、中断端口设置、终端服务程序第6章.STM32通用定时器1.STM定时器分类:2个高级控制定时器TIM1 TIM8可分配6个通道的三相PWM发生器(多用于电机控制);4个通用定时器TIM2 TIM3 TIM4 TIM5每个定时器有4个输入捕获/输出比较/PWM/脉冲计数;2个基本定时器TIM6 TIM7 主要用于产生DAC触发信号;还有两个看门狗定时器(窗口和独立)和一个系统滴答定时器。

相关文档
最新文档