《第1讲STM32F4体系结构》由会员分享,可在线阅读,更多相关《第1讲STM32F4体系结构(55页珍藏版)》请在金锄头文库上搜索。
1、第第1讲讲 STM32F4STM32F4体系结构体系结构第第1讲讲 STM32F4体系结构体系结构1.1 嵌入式系统的概念嵌入式系统的概念1.2 ARM处理器概述处理器概述1.3 STM32F4的总线架构的总线架构1.4 嵌入式嵌入式C语言程序设计语言程序设计1.5 STM32F4的时钟系统的时钟系统第第1讲讲 STM32F4STM32F4体系结构体系结构v电子计算机诞生于电子计算机诞生于1946年。年。20世纪世纪70年代出现了微处理器,年代出现了微处理器,计算机才出现了历史性的变化。以微处理器为核心的微型计算机才出现了历史性的变化。以微处理器为核心的微型计算机以其型小、价廉、高可靠性特点迅
2、速走出机房。计算机以其型小、价廉、高可靠性特点迅速走出机房。v基于高速数值解算能力的微型机,表现出的智能化水平引基于高速数值解算能力的微型机,表现出的智能化水平引起了控制专业人士的兴趣,要求将微型机嵌入到一个对象起了控制专业人士的兴趣,要求将微型机嵌入到一个对象体系中,实现对象体系的智能化控制。体系中,实现对象体系的智能化控制。微型机经电气加固、机械加固,并配置各种外围接口电微型机经电气加固、机械加固,并配置各种外围接口电路,安装到大型舰船中构成自动驾驶仪或轮机状态监控路,安装到大型舰船中构成自动驾驶仪或轮机状态监控系统。系统。计算机便失去了原来的形态和通用的计算机功能。计算机便失去了原来的形
3、态和通用的计算机功能。1.1 嵌入式系统的概念嵌入式系统的概念第第1讲讲 STM32F4STM32F4体系结构体系结构v为区别于原有的通用计算机系统,把嵌入到对象体系中,实为区别于原有的通用计算机系统,把嵌入到对象体系中,实现对象体系智能化控制的计算机,称为嵌入式计算机系统。现对象体系智能化控制的计算机,称为嵌入式计算机系统。v通用计算机具有计算机的标准形态,通过安装不同的应用软通用计算机具有计算机的标准形态,通过安装不同的应用软件,以类同面目出现并应用于社会生活的各个方面;而嵌入件,以类同面目出现并应用于社会生活的各个方面;而嵌入式计算机则以嵌入式系统的形式隐藏在各种装置、产品和系式计算机则
4、以嵌入式系统的形式隐藏在各种装置、产品和系统中。统中。vIEEE的定义:用于控制、监视或者辅助设备、机器和车间的定义:用于控制、监视或者辅助设备、机器和车间运行的装置(运行的装置(Device used to control,monitor,or assist the operation of equipment,machinery or plants)1.1 嵌入式系统的概念嵌入式系统的概念嵌入性本质是将嵌入性本质是将计算机嵌入到一计算机嵌入到一个对象体系中个对象体系中第第1讲讲 STM32F4STM32F4体系结构体系结构v目前国内普遍认同的嵌入式系统(目前国内普遍认同的嵌入式系统(Emb
5、edded System)定义:以应用为中心,以计算机技术为基础、软硬件可裁定义:以应用为中心,以计算机技术为基础、软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。格要求的专用计算机系统。v嵌入式系统是将先进的计算机技术、半导体技术、电子技嵌入式系统是将先进的计算机技术、半导体技术、电子技术和各行各业的具体应用相结合的产物。术和各行各业的具体应用相结合的产物。v嵌入式系统是一个技术密集、资金密集、高度分散、不断嵌入式系统是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。创新的知识集成系统。1.1 嵌
6、入式系统的概念嵌入式系统的概念第第1讲讲 STM32F4STM32F4体系结构体系结构嵌入式系统的组成嵌入式系统的组成v嵌入式系统的硬件嵌入式系统的硬件嵌入式最小系统(嵌入式处理器、存储模块、复位模块、电嵌入式最小系统(嵌入式处理器、存储模块、复位模块、电源模块、调试模块)源模块、调试模块)输入通道、输出通道、人机交互通道、通信互连通道输入通道、输出通道、人机交互通道、通信互连通道v嵌入式系统的软件嵌入式系统的软件 设备驱动层程序(硬件抽象层设备驱动层程序(硬件抽象层HAL、板级支持包、板级支持包BSP、设、设备驱动程序)备驱动程序) 嵌入式操作系统()嵌入式操作系统() 应用程序接口(应用程
7、序接口(API) 实际用户应用程序实际用户应用程序第第1讲讲 STM32F4STM32F4体系结构体系结构嵌入式系统的设计方法嵌入式系统的设计方法 v嵌入式系统设计有别于桌面软件设计的一个显著特点:嵌入式系统设计有别于桌面软件设计的一个显著特点: 需要一个交叉编译和调试环境;源代码的编译工作需要一个交叉编译和调试环境;源代码的编译工作在宿主机上进行,编译好后需要下载到目标机上运行在宿主机上进行,编译好后需要下载到目标机上运行 宿主机和目标机通过串口、并口、网口或宿主机和目标机通过串口、并口、网口或USB口建口建立起通信连接,并传输调试命令和数据立起通信连接,并传输调试命令和数据v嵌入式系统设计
8、的基本原则:嵌入式系统设计的基本原则:“物尽其用物尽其用”硬件和软件都必硬件和软件都必须高效率设计,量体裁衣、去除冗余须高效率设计,量体裁衣、去除冗余第第1讲讲 STM32F4STM32F4体系结构体系结构v面临的问题:面临的问题: 嵌入式微处理器及操作系统的选择嵌入式微处理器及操作系统的选择 开发工具的选择开发工具的选择 对目标系统的观察与控制对目标系统的观察与控制v设计步骤:设计步骤: 需求分析(功能性需求和非功能性需求)、需求分析(功能性需求和非功能性需求)、 体系结构设计(系统整体结构的一个规划和描述)体系结构设计(系统整体结构的一个规划和描述) 嵌入式硬软件及执行机构设计(详细设计)
9、嵌入式硬软件及执行机构设计(详细设计) 嵌入式系统集成嵌入式系统集成 嵌入式系统测试嵌入式系统测试第第1讲讲 STM32F4STM32F4体系结构体系结构嵌入式系统的发展嵌入式系统的发展v以以8 8位位/16/16位单片机为核心的初级嵌入式系统位单片机为核心的初级嵌入式系统v以以3232位嵌入式微控制器为基础的中级嵌入式系统位嵌入式微控制器为基础的中级嵌入式系统v以嵌入式操作系统为标志的中高级嵌入式系统以嵌入式操作系统为标志的中高级嵌入式系统v以以InternetInternet为标志的高级嵌入式系统为标志的高级嵌入式系统第第1讲讲 STM32F4STM32F4体系结构体系结构vARM(Adv
10、anced RISC Machines)具有多种含义,既具有多种含义,既是一个公司的名字,也可以代表一类嵌入式处理器,是一个公司的名字,也可以代表一类嵌入式处理器,还可以代表一种技术。还可以代表一种技术。v目前,采用目前,采用ARM技术知识产权核(技术知识产权核(IP核)的微处理器,核)的微处理器,即通常所说的即通常所说的ARM处理器,已遍及通信系统、网络系处理器,已遍及通信系统、网络系统、无线系统、消费类电子产品、工业控制等各类产统、无线系统、消费类电子产品、工业控制等各类产品市场,基于品市场,基于ARM技术的微处理器应用约占技术的微处理器应用约占32位位RISC处理器处理器80%以上的市场
11、份额。以上的市场份额。手机处理器手机处理器90%、平板电脑、平板电脑70%1.2 ARM处理器概述处理器概述第第1讲讲 STM32F4STM32F4体系结构体系结构v1990年年ARM公司在英国剑桥成立。公司在英国剑桥成立。ARM是专门从事基于是专门从事基于RISC技术芯片技术开发的公司,是技术芯片技术开发的公司,是IP(知识产权)供应商,(知识产权)供应商,本身不生产芯片,由合作公司生产各具特色的芯片。本身不生产芯片,由合作公司生产各具特色的芯片。v世界各大半导体生产商从世界各大半导体生产商从ARM公司购买其设计的公司购买其设计的ARM微处微处理器核,根据各自不同的应用领域,加入适当的外围电
12、路,理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的从而形成自己的ARM微处理器芯片进入市场。目前,全球微处理器芯片进入市场。目前,全球有几十家大的半导体公司都使用有几十家大的半导体公司都使用ARM公司的授权。公司的授权。vARM处理器已经占据了绝大部分处理器已经占据了绝大部分32位、位、64位高端嵌入式处位高端嵌入式处理器的市场,形成了移动通信、手持计算、多媒体数字消费理器的市场,形成了移动通信、手持计算、多媒体数字消费等嵌入式解决方案事实上的标准。等嵌入式解决方案事实上的标准。1.2 ARM处理器概述处理器概述ARM体系结构的演变体系结构的演变1991年开始共年开始共推出
13、推出7个版本,个版本,V1V3未用于未用于商业授权商业授权V4T开始商业授权,开始商业授权,T表示表示16位位Thumb指令,指令,ARM7TDMI,冯诺依,冯诺依曼结构,三级流水线,曼结构,三级流水线,0.9MIPS/MHzV5增强增强ARM和和Thumb指令切指令切换的支持,增换的支持,增加了加了DSP指令指令支持(后缀支持(后缀E)、)、Java支持(后支持(后缀缀J)V6版增强版增强DSP和多媒体处理和多媒体处理指令,增加指令,增加SIMD指令扩展,指令扩展,对音、视频处对音、视频处理性能有极大理性能有极大提升,提升,Thumb-2指令指令2004年发布年发布V7版,版,ARM首次为其
14、体系首次为其体系结构命名,命名为结构命名,命名为Cortex,分为,分为A(应用)、(应用)、R(实(实时)、时)、M(微控制(微控制器)三个系列器)三个系列版本与型版本与型号区别号区别第第1讲讲 STM32F4STM32F4体系结构体系结构第第1讲讲 STM32F4STM32F4体系结构体系结构冯冯诺依曼结构诺依曼结构VS哈弗结构哈弗结构冯冯诺依曼结构诺依曼结构哈弗结构哈弗结构第第1讲讲 STM32F4STM32F4体系结构体系结构vCISC(Complex Instruction Set Computer)指令系统庞大(数量、寻址)、指令功能复杂、指指令系统庞大(数量、寻址)、指令功能复杂
15、、指令变长(解码困难)、控制部分占芯片面积大令变长(解码困难)、控制部分占芯片面积大vRISC(Reduced Instruction Set Computer)指令系统简单(数量、寻址)指令系统简单(数量、寻址) 、指令功能简单(多、指令功能简单(多数单周期可执行,可提高主频)、指令定长(解码数单周期可执行,可提高主频)、指令定长(解码快)、大量通用寄存器组、快)、大量通用寄存器组、Load/Store结构、流水结构、流水线技术线技术RISC技术技术第第1讲讲 STM32F4STM32F4体系结构体系结构CISC与与RISC编译器编译器处理器处理器(复杂度高)(复杂度高)编译器编译器(复杂度
16、高)(复杂度高)处理器处理器CISCRISC第第1讲讲 STM32F4STM32F4体系结构体系结构流水线技术流水线技术流水线明显流水线明显比顺序方式比顺序方式效率高效率高第第1讲讲 STM32F4STM32F4体系结构体系结构vARM体系的存储空间体系的存储空间232B的单一、线性地址空间。地址:的单一、线性地址空间。地址:0232-1可以看作由可以看作由230个个32位的字组成的地址空间位的字组成的地址空间也可以看作由也可以看作由231个个16位的半字组成的地址空间位的半字组成的地址空间vARM体系的存储器格式体系的存储器格式大端格式大端格式(Big Endian)高字节存储在低地址中,低
17、字节则存放在高地址中高字节存储在低地址中,低字节则存放在高地址中小端格式小端格式(Little Endian)高字节存储在高地址中,低字节则存放在低地址中高字节存储在高地址中,低字节则存放在低地址中ARM存储器和存储器映像存储器和存储器映像I/O第第1讲讲 STM32F4STM32F4体系结构体系结构Big Endian vs Little Endian (0H)=0123H(4H)=4567H(8H)=89ABHBig Endian(0H)=3210H(4H)=7654H(8H)=BA98HLittle Endian字地址字地址0 01 12 23 34 45 56 67 78 89 9A
18、AB B0 04 48 8低低高高0 1 2 30 1 2 3(字节地址字节地址)低低高高字地址字地址0 01 12 23 34 45 56 67 78 89 9A AB B0 04 48 8低低高高0 1 2 30 1 2 3(字节地址字节地址)低低高高第第1讲讲 STM32F4STM32F4体系结构体系结构vARM体系结构中,体系结构中,I/O操作通常被映射为存储器操作操作通常被映射为存储器操作I/O输出操作可以通过存储器写入操作实现输出操作可以通过存储器写入操作实现I/O输入操作可以通过存储器读取操作实现输入操作可以通过存储器读取操作实现ARM存储器映射存储器映射I/O与与IntelIn
19、tel的的80x8680x86不同不同第第1讲讲 STM32F4STM32F4体系结构体系结构vARM公司公司1996年提出高级微控制器总线结构年提出高级微控制器总线结构AMBA(Advanced Microcontroller Bus Architecture),),使片上不同宏单元的连接实现标准化。使片上不同宏单元的连接实现标准化。ARM总线技术总线技术第第1讲讲 STM32F4STM32F4体系结构体系结构vARM总线标准规定了两种类型总线:总线标准规定了两种类型总线:先进的系统总线(先进的系统总线(ASB),用于连接高性能系统模块用于连接高性能系统模块先进的外围总线(先进的外围总线(A
20、PB),支持低性能外围接口,用于连接系统的周边组支持低性能外围接口,用于连接系统的周边组件件ASB和和APB之间通过桥接器相连(之间通过桥接器相连(ARM7)第二代标准增强了第二代标准增强了AMBA的性能,定义了两种高性能的总线标准的性能,定义了两种高性能的总线标准AHB和和APB2以及测试方法。(以及测试方法。(ARM9/ARM10/ARM Cortex-M)第三代包括了第三代包括了AXI、ATB、AHB-Lite及及APB3四个标准四个标准(ARM11/Cortex-R、Cortex-A)第四代在第三代基础上增加了五个接口协议(第四代在第三代基础上增加了五个接口协议( Cortex-A 1
21、5)第五代在第四代基础上增加了支持第五代在第四代基础上增加了支持64位处理器的功能(位处理器的功能( Cortex-A 50系系列)列)1.3 STM32F4的总线架构的总线架构第第1讲讲 STM32F4STM32F4体系结构体系结构STM32 F 407 Z G T 6基于基于ARMARM的的3232位微控制器位微控制器通用类型通用类型T T:36PIN R36PIN R:64PIN V64PIN V:100PIN Q100PIN Q:132PIN132PIN;Z Z:144PIN144PIN;第第1讲讲 STM32F4STM32F4体系结构体系结构v主系统由主系统由 32 位多层位多层 A
22、HB 总线矩阵构成,可实现以下部分的总线矩阵构成,可实现以下部分的互连互连 :八条主控总线:八条主控总线:Cortex-M4 内核内核 I 总线、总线、 D 总线、总线、 S 总总线;线;DMA1存储器总线、存储器总线、 DMA2存储器总线;存储器总线;DMA2 外设外设总线;以太网总线;以太网 DMA 总线;总线;USB OTG HS DMA 总线。总线。7条被控总线:内部条被控总线:内部 FLASH ICode 总线总线;内部内部FLASH DCode 总线总线;主要内部主要内部 SRAM1(112KB)辅助内部辅助内部 SRAM2(16KB);辅助内部辅助内部 SRAM3(64KB) (
23、仅适仅适用用 STM32F42xx 和和 STM32F43xx 系列器件系列器件); 1.3 STM32F4的总线架构的总线架构第第1讲讲 STM32F4STM32F4体系结构体系结构8 8条主控条主控总线总线7 7条被控条被控总线总线第第1讲讲 STM32F4STM32F4体系结构体系结构v八条主控总线:八条主控总线:I总线(总线(S0) :将:将 Cortex-M4 内核的指令总线连接到总线矩阵内核的指令总线连接到总线矩阵 D总线(总线(S1):将):将 Cortex-M4 内核的数据总线连接到总线矩阵内核的数据总线连接到总线矩阵S总线(总线(S2):将):将 Cortex-M4 内核的系
24、统总线连接到总线矩阵内核的系统总线连接到总线矩阵DMA存储器总线(存储器总线(S3,S4)将)将 DMA 存储器总线主接口连接到总线存储器总线主接口连接到总线矩阵矩阵DMA外设总线(外设总线(S5):): 将将 DMA 外设主总线接口连接到总线矩阵外设主总线接口连接到总线矩阵以太网以太网 DMA总线(总线(S6):将以太网):将以太网 DMA 主接口连接到总线矩阵主接口连接到总线矩阵USB OTG HS DMA总线(总线(S7):将):将 USB OTG HS DMA 主接口主接口连接到总线矩阵。连接到总线矩阵。第第1讲讲 STM32F4STM32F4体系结构体系结构vC C语言典型数据类型语
25、言典型数据类型 8 8位:位:charchar int8_t int8_t uint8_t uint8_t 16 16位:位:shortshort int16_t int16_t uint16_t uint16_t 32 32位:位:intint int32_t int32_t uint32_t uint32_t long long float float 1.4 嵌入式嵌入式C语言程序设计语言程序设计第第1讲讲 STM32F4STM32F4体系结构体系结构vC C语言典型运算符语言典型运算符 算术运算符算术运算符 + + 、 - -、 * *、 / /、 % %(余数)、(余数)、 +(自增
26、运算符)、(自增运算符)、 - - - -(自减运算符)(自减运算符) 关系运算符关系运算符 、 =、=、= = =、!、!= = 逻辑运算符逻辑运算符 & & 、 |、 ! ! 第第1讲讲 STM32F4STM32F4体系结构体系结构vC C语言典型运算符语言典型运算符 位运算符位运算符 & &、 、| |、(右移)、(右移)、 (按位取反)(按位取反) 赋值运算赋值运算 = =、运算符、运算符= =(运算后赋值)(运算后赋值) 特殊运算符特殊运算符 (数据下标)、(数据下标)、. .(成员选择(成员选择 对象对象. .成员表)、成员表)、-(成员选(成员选择指针择指针 对象指针对象指针-成
27、员表)、成员表)、 指针运算符指针运算符 * *(取值运算符)(取值运算符)* *指针变量指针变量 & &(取地址运算符)(取地址运算符)& &变量名变量名 第第1讲讲 STM32F4STM32F4体系结构体系结构vC C语言典型数据类型语言典型数据类型例:假设让变量例:假设让变量MyvarMyvar第第9 9位置位为位置位为1 1,其他位不变。,其他位不变。 Myvar|=0x00000200Myvar|=0x00000200 或或 Myvar|=Myvar|=(1919)例:假设让变量例:假设让变量MyvarMyvar第第5 5位清位清0 0,其他位不变。,其他位不变。 Myvar&=0x
28、FFFFFFDFMyvar&=0xFFFFFFDF 或:或:Myvar&=Myvar&=(151-成员名成员名Usart3-BaudRateUsart3-BaudRate;第第1讲讲 STM32F4STM32F4体系结构体系结构结构体的作用结构体的作用v例如:初始化外设的串口状态,包括串口号、波特率、例如:初始化外设的串口状态,包括串口号、波特率、极性、模式等极性、模式等没有结构体:没有结构体: void USART_Initvoid USART_Init(u8 usarttxu8 usarttx,u32 Baudrateu32 Baudrate,u8 parityu8 parity,u8 m
29、odeu8 mode)如果要往函数中再传入一个参数如果要往函数中再传入一个参数?void USART_Initvoid USART_Init(u8 usarttxu8 usarttx,u32 Baudrateu32 Baudrate,u8 parityu8 parity,u8 modeu8 mode,u8 wordlengthu8 wordlength)太麻烦太麻烦结构体将多个变量组合为一个有机整体。在不改变结构体将多个变量组合为一个有机整体。在不改变入口参数的情况下,只需要改变结构体的成员变量入口参数的情况下,只需要改变结构体的成员变量第第1讲讲 STM32F4STM32F4体系结构体系结构
30、Void USART_Init(USART_TypeDef *USARTx, USART_InitTypeDef *USART_InitStruct);vtypedef struct uint32_t USART_BaudRate; uint16_t USART_Wordlength; uint16_t USART_StopBit; uint16_t USART_Parity; uint16_t USART_Mode; uint16_t USART_HardwareFlowControl; USART_InitTypeDef;第第1讲讲 STM32F4STM32F4体系结构体系结构v传统的传统
31、的51单片机只需一个系统时钟单片机只需一个系统时钟vSTM32有一个相当复杂的有一个相当复杂的时钟树时钟树STM32本身非常复杂,外设很多,有高速外设,有本身非常复杂,外设很多,有高速外设,有低速外设低速外设时钟越快,功耗越大、抗电磁干扰能力越弱时钟越快,功耗越大、抗电磁干扰能力越弱每个外设的时钟都有使能端,外设不用时可将其时每个外设的时钟都有使能端,外设不用时可将其时钟关闭以节约能耗钟关闭以节约能耗1.5 STM32F4的时钟系统的时钟系统 复杂的复杂的MCU一般都采用多时钟源的方法解决该问题一般都采用多时钟源的方法解决该问题第第1讲讲 STM32F4STM32F4体系结构体系结构ABCDE
32、GHIF每个外设每个外设时钟都有时钟都有使能使能第第1讲讲 STM32F4STM32F4体系结构体系结构v5个时钟源个时钟源LSI:低速内部时钟,:低速内部时钟,RC 振荡器,频率为振荡器,频率为 32kHz 左右。供左右。供独立看门狗、独立看门狗、RTC、自动唤醒单元使用、自动唤醒单元使用LSE:低速外部时钟,接频率为:低速外部时钟,接频率为32.768kHz 的石英晶体。主的石英晶体。主要是要是 RTC 的时钟源的时钟源 HSI:高速内部时钟,:高速内部时钟,RC 振荡器,频率为振荡器,频率为 16MHz。可以直。可以直接作为系统时钟或者用作接作为系统时钟或者用作 PLL输入输入 HSE:
33、高速外部时钟,可接石英:高速外部时钟,可接石英/陶瓷谐振器,或者接外部时陶瓷谐振器,或者接外部时钟源,频率范围钟源,频率范围4MHz26MHz。开发板接开发板接8M晶振。晶振。HSE也也可以直接做为系统时钟或者可以直接做为系统时钟或者 PLL 输入。输入。 1.4 STM32F4的时钟系统的时钟系统时钟树时钟树第第1讲讲 STM32F4STM32F4体系结构体系结构v5个时钟源个时钟源PLL:锁相环倍频输出:锁相环倍频输出 主主 PLL:由:由 HSE 或者或者 HSI 提供时钟信号,并具有两提供时钟信号,并具有两个不同的输出时钟。个不同的输出时钟。PLLP:生成高速的系统时钟(最高:生成高速
34、的系统时钟(最高168MHz)PLLQ:生成:生成 USB OTG FS 的时钟(的时钟(48MHz)、)、随机数发生器的时钟和随机数发生器的时钟和 SDIO时钟时钟 专用专用 PLL(PLLI2S):生成精确时钟,从而在):生成精确时钟,从而在 I2S 接口实现高品质音频性能接口实现高品质音频性能 1.4 STM32F4的时钟系统的时钟系统时钟树时钟树第第1讲讲 STM32F4STM32F4体系结构体系结构vPLL输出频率计算方法输出频率计算方法输入时钟先输入时钟先M分频分频再再N倍频倍频最后最后P(或(或Q)分频)分频开发板:开发板:fin=8MHz,设置,设置M=8,N=336,P=2,
35、则,则fout= 8MHz336/(82)=168MHz1.4 STM32F4的时钟系统的时钟系统时钟树时钟树第第1讲讲 STM32F4STM32F4体系结构体系结构vSYSCLK(系统时钟)(系统时钟) =168MHzvAHB 总线时钟(总线时钟(HCLK=SYSCLK)=168MHzvAPB1 总线时钟(总线时钟(PCLK1=SYSCLK/4)=42MHzvAPB2 总线时钟(总线时钟(PCLK2=SYSCLK/2)=84MHzvPLL主时钟主时钟 =168MHz SystemInit()中设置的系统时钟大小中设置的系统时钟大小 第第1讲讲 STM32F4STM32F4体系结构体系结构vs
36、tm32f4xx_rcc.h、stm32f4xx_rcc.c时钟源使能函数时钟源使能函数外设时钟使能函数外设时钟使能函数 时钟源选择和分频因子配置函数时钟源选择和分频因子配置函数外设复位函数外设复位函数状态参数获取函数状态参数获取函数RCC中断相关函数中断相关函数STM32F4时钟使能和配置时钟使能和配置实际是读取或配置相实际是读取或配置相关寄存器(略),这关寄存器(略),这里学习相关库函数里学习相关库函数第第1讲讲 STM32F4STM32F4体系结构体系结构vvoid RCC_HSICmd(FunctionalState NewState);vvoid RCC_LSICmd(Functio
37、nalState NewState);vvoid RCC_PLLCmd(FunctionalState NewState);vvoid RCC_PLLI2SCmd(FunctionalState NewState);vvoid RCC_PLLSAICmd(FunctionalState NewState);vvoid RCC_RTCCLKCmd(FunctionalState NewState);v例:使能例:使能PLL时钟时钟RCC_PLLCmd(ENABLE);时钟源使能函数时钟源使能函数第第1讲讲 STM32F4STM32F4体系结构体系结构vvoid RCC_AHB1PeriphClo
38、ckCmd(uint32_t RCC_AHB1Periph, FunctionalState NewState);vvoid RCC_AHB2PeriphClockCmd(uint32_t RCC_AHB2Periph, FunctionalState NewState);vvoid RCC_AHB3PeriphClockCmd(uint32_t RCC_AHB3Periph, FunctionalState NewState);vvoid RCC_APB1PeriphClockCmd(uint32_t RCC_AHB1Periph, FunctionalState NewState);vvo
39、id RCC_APB2PeriphClockCmd(uint32_t RCC_AHB2Periph, FunctionalState NewState);外设时钟使能函数外设时钟使能函数 第第1讲讲 STM32F4STM32F4体系结构体系结构v数据手册数据手册P17:Figure 5. STM32F40x block diagramv查固件库函数中的参数宏定义查固件库函数中的参数宏定义stm32f4xx_rcc.h 如何知道某个外设挂接哪个总线如何知道某个外设挂接哪个总线GPIOA挂挂在在AHB1上上GPIOAGPIOA挂挂在哪个总在哪个总线上?线上?两个总两个总线桥线桥TIM6挂在挂在AP
40、B1上上定时器定时器6 6挂在哪个挂在哪个总线上?总线上?第第1讲讲 STM32F4STM32F4体系结构体系结构v方法二:查固件库函数中的参数宏定义方法二:查固件库函数中的参数宏定义v例:例:GPIOAGPIOA挂在哪个总线上?定时器挂在哪个总线上?定时器6 6挂在哪个总线上?挂在哪个总线上?如何知道某个外设挂接哪个总线如何知道某个外设挂接哪个总线第第1讲讲 STM32F4STM32F4体系结构体系结构vvoid RCC_HSEConfig(uint8_t RCC_HSE);vvoid RCC_LSEConfig(uint8_t RCC_LSE);vvoid RCC_PLLConfig(ui
41、nt32_t RCC_PLLSource, uint32_t PLLM, uint32_t PLLN, uint32_t PLLP, uint32_t PLLQ);vvoid RCC_SYSCLKConfig(uint32_t RCC_SYSCLKSource);vvoid RCC_HCLKConfig(uint32_t RCC_SYSCLK);vvoid RCC_PCLK1Config(uint32_t RCC_HCLK);v例:设置系统时钟源为例:设置系统时钟源为HSIRCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);v例:设置例:设置APB1时钟为时钟为HCL
42、K的的2分频分频RCC_PCLK1Config(RCC_HCLK_Div2)时钟源选择和分频因子配置函数时钟源选择和分频因子配置函数仅列举仅列举部分部分第第1讲讲 STM32F4STM32F4体系结构体系结构vvoid RCC_AHB1PeriphResetCmd(uint32_t RCC_AHB1Periph, FunctionalState NewState);vvoid RCC_AHB2PeriphResetCmd(uint32_t RCC_AHB2Periph, FunctionalState NewState);vvoid RCC_AHB3PeriphResetCmd(uint32_
43、t RCC_AHB3Periph, FunctionalState NewState);vvoid RCC_APB1PeriphResetCmd(uint32_t RCC_AHB1Periph, FunctionalState NewState);vvoid RCC_APB2PeriphResetCmd(uint32_t RCC_AHB2Periph, FunctionalState NewState);外设复位函数外设复位函数第第1讲讲 STM32F4STM32F4体系结构体系结构vuint8_t RCC_GetSYSCLKSource(void);vvoid RCC_GetClocksFr
44、eq(RCC_ClocksTypeDef* RCC_Clocks); vFlagStatus RCC_GetFlagStatus(uint8_t RCC_FLAG);vvoid RCC_ClearFlag(void);状态参数获取清除函数状态参数获取清除函数第第1讲讲 STM32F4STM32F4体系结构体系结构vvoid RCC_ITConfig(uint8_t RCC_IT, FunctionalState NewState);vvoid RCC_ClearITPendingBit(uint8_t RCC_IT);vITStatus RCC_GetITStatus(uint8_t RCC_IT);RCC中断相关函数中断相关函数第第1讲讲 STM32F4STM32F4体系结构体系结构本章学习资料本章学习资料此课件下载可自行编辑修改,供参考!感谢您的支持,我们努力做得更好!精精选选ppt