STM32 New Comer Lesson Three
- 格式:pdf
- 大小:2.48 MB
- 文档页数:28
STM32单片机基础知识STMicroelectronics的STM32系列是一系列广受欢迎的32位ARM Cortex-M微控制器(MCU)。
这些单片机被广泛应用于嵌入式系统,因为它们具有高性能、低功耗、丰富的外设和丰富的开发工具生态系统。
1、处理器核心STM32系列单片机采用不同版本的ARM Cortex-M处理器核心,可根据应用的性能和功耗需求进行选择。
从低功耗的Cortex-M0到高性能的Cortex-M7,这些核心提供了广泛的选择,适用于各种嵌入式应用。
选型时需要考虑处理器性能、成本、功耗以及应用的实际需求。
Cortex-M0:特点:Cortex-M0是Cortex-M系列中的低功耗、低成本核心,适用于对功耗有严格要求的应用。
它是一种精简指令集(RISC)架构,具有简化的指令集和低延迟的操作。
性能:Cortex-M0通常具有较低的时钟速度,适用于低复杂度的嵌入式系统。
应用:它常用于传感器、小型家电、智能卡和其他低功耗、成本敏感的应用。
Cortex-M0+:特点:Cortex-M0+是Cortex-M系列中的改进型号,继承了Cortex-M0的低功耗特性,并增加了一些性能和功能。
它具有更高的性能和更多的指令,可提供更好的性价比。
性能:Cortex-M0+通常比Cortex-M0具有更高的时钟速度,同时保持低功耗,适用于中等复杂度的应用。
应用:它常用于物联网设备、便携式医疗设备、智能传感器等。
Cortex-M3:特点:Cortex-M3是Cortex-M系列中的通用用途核心,适用于广泛的应用领域。
它具有较高的性能和更多的功能,适合中等和高复杂度的嵌入式系统。
性能:Cortex-M3通常具有更高的时钟速度和更大的指令集,支持多线程处理,适用于实时操作系统(RTOS)。
应用:它广泛用于工业自动化、消费电子、汽车电子等多个领域,要求高性能和实时性。
Cortex-M4:特点:Cortex-M4是Cortex-M系列中的高性能型号,具有浮点运算单元(FPU),能够进行单精度浮点数运算。
第二章软件篇 (2)2.1 RVMDK简介 (2)2.2 MDK 4.12集成开发环境的组成 (2)2.3 MDK工程的编辑 (3)2.3.1 新建RVMDK工程 (3)2.3.2 建立文件 (6)2.3.3 添加文件到工程 (7)2.3.4 管理工程目录以及源文件 (9)2.3.5 编译和连接工程 (13)2.3.6 打开旧工程 (16)2.4 RVMDK使用技巧 (17)2.4.1 快速定位函数/变量被定义的地方 (17)2.4.2 快速注释与快速消注释 (19)2.4.3 快速打开头文件 (20)2.5 JLINK V8仿真器的安装与应用 (21)2.5.1 JLINK V8仿真器简介 (21)2.5.2 JLINK ARM主要特点 (22)2.5.3 如何安装JLINK软件 (22)2.5.4 JLINK V8仿真器配置(MDK KEIL环境) (24)2.5.5 使用KEIL的DOWNLOAD功能 (27)2.6 在MDK开发环境中JLINK V8的调试技巧 (27)2.7 在MDK开发环境中调试 (29)2.7.1 KEIL仿真的应用 (29)2.7.2 KEIL软件仿真 (29)2.7.3 硬件仿真 (36)第二章软件篇本章以目前最新的RVMDK 4.12版本为例,详细介绍RVMDK(以下简称MDK)这一主流的开发环境的使用。
包括MDK工程的建立,代码的编译和调试,以及程序下载等。
通过这一章节,我们将了解MDK的基本操作,熟悉基于MDK软件的STM32开发流程。
2.1RVMDK简介RVMDK源自德国的KEIL公司,是RealView MDK的简称,RealView MDK集成了业内最领先的技术,包括μVision4集成开发环境与 RealView编译器。
支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20%。
第三章通用和复用功能I/O3.1 概述STM32F10x系列有着丰富的端口可供使用,有26/37/51/80/112个多功能双向5V兼容的快速I/O口,所有I/O口可以映像到16个外部中断。
每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器GPIOx_IDR,GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。
GPIO端口的每个位可以由软件分别配置成多种模式。
─输入浮空─输入上拉─输入下拉─模拟输入─开漏输出─推挽式输出─推挽式复用功能─开漏复用功能每个I/O端口位可以自由编程,I/0端口寄存器必须按32位字被访问(不允许半字或字节访问)。
GPIOx_BSRR 和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/更改的独立访问;这样,在读和更改访问之间产生IRQ时不会发生危险。
图3-1-1给出了一个I/O端口位的基本结构。
图3-1-1 I/O端口位的基本结构3.1.1 通用I/O(GPIO)复位期间和复位后,复用功能未开启,I/O端口被配置成浮空输入模式。
复位后,JTAG引脚被置于输入上拉或下拉模式:─PA15:JTDI置于上拉模式─PA14:JTCK置于下拉模式─PA13:JTMS置于上拉模式─PB4:JNTRST置于上拉模当I/O脚作为输出配置时,写到输出数据寄存器上的值(GPIOx_ODR)输出到相应的I/O引脚。
可以以推挽模式或开漏模式(当输出0时,只有N-MOS被打开)使用输出驱动器。
输入数据寄存器(GPIOx_IDR)在每个APB2时钟周期捕捉I/O引脚上的数据。
所有GPIO引脚都有一个内部弱上拉和弱下拉,当配置为输入时,它们可以被激活也可以被断开。
3.1.2单独的位设置或位清除当对GPIOx_ODR的个别位编程时,软件不需要禁止中断:在单次APB2写操作里,可以只更改一个或多个位。
STM 32 初级学习第一章初识Cortex-M3 (3)1.1 ARM Cortex-M3 处理器初探 (3)1.2 从Cortex-M3 处理器内核到基于Cortex-M3的MCU (3)第二章开发环境MDK、J-link的搭建及系统调试 (7)2.1 JLINK驱动安装 (7)2.2 MDK环境搭建 (7)2.3 MDK破解 (11)第三章如何新建工程 (13)第四章工程编译及仿真、程序的下载 (18)4.1 工程编译 (19)4.2 仿真环境的搭建 (20)4.3 JLINK下载 (23)第五章了解stm32库文件 (26)第六章简单例程分析 (28)6.1流水灯介绍 (28)6.1.1 STM32的地址映射 (32)6.1.2 STM32库对寄存器的封装 (37)6.1.3 STM32的时钟系统(程序的心脏,每个例程公共的模块) (39)6.1.4流水灯例程 (44)6.1.5 仿真结果分析 (48)6.1.6程序下载到开发板后的结果显示 (48)6.2系统滴答定时器SysTick (48)6.2.1实例分析 (51)6.2.2仿真结果分析: (55)6.2.3程序下载 (55)6.3 EXTI外部中断 (55)6.3.1 NVIC结构体成员 (58)6.3.2 抢占优先级和响应优先级 (58)6.3.3 NVIC的优先级组 (59)6.3.4 EXTI外部中断 (60)6.3.5例程程序 (61)6.4串口部分 (62)6.4.1波特率控制 (63)6.4.2收发控制 (64)6.4.3数据存储转移部分 (64)6.4.4实例解析 (65)6.5 ADC(DMA模式) (65)6.5.1 ADC简介 (65)6.5.2 STM32的ADC主要技术指标 (66)6.5.3 ADC工作过程分析 (67)6.5.4 ADC采集例程分析 (68)第一章初识Cortex-M31.1 ARM Cortex-M3 处理器初探ARM Cortex-M3处理器,作为Cortex系列的处女作,为了让32位处理器入主作庄单片机市场,轰轰烈烈地诞生了!由于采用了最新的设计技术,它的门数更低,性能却更强。
STM32⼊门教程前⾔⼀天⼊门STM32,仅⼀天的时间,是否有真的这么快。
不同的⼈对⼊门的理解不⼀样,这篇⼀天⼊门STM32的教程,我们先对⼊门达成⼀个共识,如果你有异议,⼀天⼊门不了,请不要较真,不要骂街,保持⼀个⼯程师该有的修养,默默潜⼼学习,因为你还有很⼤的上升空间。
我眼中的⼊门:(前提是你学过51单⽚机和C语⾔)1、知道参考官⽅的什么资料来学习,⽽不是陷⼊⼀⼤堆资料中⽆从下⼿。
2、知道如何参考官⽅的⼿册和官⽅的代码来独⽴写⾃⼰的程序,⽽不是⼀味的看到⼈家写的代码就觉得⼈家很⽜逼。
3、消除对STM32的恐惧,消除对库开发的恐惧,学习是⼀个快乐⽽富有成就感的过程。
第1章⼀天⼊门STM32本章参考资料:《STM32中⽂参考⼿册》《CM3权威指南CnR2》学习本章时,配合《STM32中⽂参考⼿册》GPIO章节⼀起阅读,效果会更佳,特别是涉及到寄存器说明的部分。
1.151与STM32简介51是嵌⼊式学习中⼀款⼊门级的精典MCU,因其结构简单,易于教学,且可以通过串⼝编程⽽不需要额外的仿真器,所以在教学时被⼤量采⽤,⾄今很多⼤学在嵌⼊式教学中⽤的还是51。
51诞⽣于70年代,属于传统的8位单⽚机,如今,久经岁⽉的洗礼,既有其辉煌⼜有其不⾜。
现在的市场产品竞争激烈,对成本极其敏感,相应地对MCU的要求也更苛刻:功能更多,功耗更低,易⽤界⾯和多任务。
⾯对这些要求,51现有的资源就显得得抓襟见肘了。
所以⽆论是⾼校教学还是市场需求,都急需⼀款新的MCU来为这个领域注⼊新的活⼒。
基于这市场的需求,ARM公司推出了其全新的基于ARMv7架构的32位Cortex-M3微控制器内核。
紧随其后,ST(意法半导体)公司就推出了基于Cortex-M3内核的MCU—STM32。
STM32凭借其产品线的多样化、极⾼的性价⽐、简单易⽤的库开发⽅式,迅速在众多Cortex-M3MCU中脱颖⽽出,成为最闪亮的⼀颗新星。
STM32⼀上市就迅速占领了中低端MCU市场,受到了市场和⼯程师的⽆⽐青睐,颇有星⽕燎原之势。