历史上的今天
返回首页

历史上的今天

今天是:2025年04月20日(星期日)

正在发生

2021年04月20日 | 什么是STM32以及怎样学习?

2021-04-20 来源:eefocus

一、硬件准备:


随着技术的发展,单片机开发手段也越来越先进,而价格却不断下降。当FLASH型单片机被广泛应用后,采用软件模拟加写片验证成为一种经济实用的实验方法。而近年来很多单片机都具有了ISP功能,只要一根下载线即可以编程,不再需要编程器。


美国SST公司推出的SST系列单片机更是集成了仿真功能,配合Keil软件,可使用户的目标板直接具有仿真功能,将单片机的易用性推向一个新的高度。


我们推荐给大家的学习单片机的设备是:方案1:(1)计算机一台;(2)具有仿真功能的实验板一块,(3)其它如电烙铁、实验电源等常规工具。方案2:(1)计算机一台;(2)下载型实验板一块;(3)下载线一根;(4)其它如电烙铁、实验电源等常工具。方案1的特点是实验板本身具有仿真能力,性价比高。方案2价格略低。如果你想学单片机,而又不愿做这些投资,我劝你最好还是放弃,否则可能只会挫伤你学习的积极性和浪费你的时间。好在这些投资并不算多。


二、软件准备:单片机开发中除必要的硬件外,同样离不开软件,Keil软件是目前最流行开发


MCS-51系列单片机的软件,这从近年来STM32的核心Cortex-M3处理器是一个标准化的微控制器结构,希望思考一下,何为标准化?简言之,Cortex-M3处理器拥有32位CPU,并行总线结构,嵌套中断向量控制单元,调试系统以及标准的存储映射。


嵌套中断向量控制器(Nested Vector Interrupt Controller,简称NVIC)是Cortex-M3处理器中一个比较关键的组件,它为基于Cortex-M3的微控制器提供了标准的中断架构和优秀的中断响应能力,为超过240个中断源提供专门的中断入口,而且可以赋予每个中断源单独的优先级。利用NVIC从可以达到极快的中断响应速度,从收到中断请求到执行中断服务的第一条指令仅需12个周期。这种极快的响应速度一方面得益于Cortex-M3内核对堆栈的自动处理机制,这种机制是通过固化在CPU内部的微代码实现的。另一方面,在中断请求连续出现的情况下,NVIC使用一种称为“尾链”的技术,使连续而来的中断可以在6个时钟周期内得到服务。在中断的压栈阶段,更高优先级的中断可以不耗费任何额外的CPU周期就能完成嵌入低优先级中断的动作。具体的细节后面我会继续总结的。用户可以通过设置CPU自动进入低功耗状态,而使用中断来将其唤醒,CPU在中断时间来临之前会一直保持睡眠状态。这个后面我也会再总结。


Cortex-M3的CPU支持两种运行模式:线程模式(Thread Mode)与处理模式(Handler Mode)并且需要注意的是,这两种模式都拥有各自独立的堆栈。这种设计使得开发人员可以进行更为精密的程序设计,对实时操作系统的支持也就更好了。


Cortex-M3处理器还包含了一个24位可自动重装载定的定时器,可以为内核(RTOS)提供一个周期中断。


在指令集方面,ARM7和ARM9都有两种指令集(32位指令集和16位指令集),而Cortex-M3系列处理器支持Thumb-2指令集。由于Thumb-2指令集融合了Thumb指令集和ARM指令集,使得32位指令集的性能和16位指令集的代码密度之间取得了平衡。


而且,ARM Thumb-2 专门为C/C++编译器设计,这就意味着Cortex-M3系列处理器的开发应用可以全部在C语言环境中完成。


STM32微控制器的推出标志着ST公司在两条产品主线(低价位主线和高性能主线)上迈出了重大一步。STM32最初发布时有14个不同型号,分为两个版本:最高CPU时钟为72MHZ的“增强型”和最高CPU时钟为36MHZ的“基本型”。这些不同STM32型号里内置的Flash最大可达


128KB,SRAM最大为20KB,在STM32发布之初,配置更大Flash,RAM和更复杂外设的版本就已经在规划之中了。不管是什么版本,什么型号的STM32器件,它们在引脚功能和应用软件上是兼容的。这就使得开发人员在使用STM32系列微控制器时,不必改动PCB就可以根据需要随意更换器件型号。


乍一看STM32的设备配备,与往日熟悉的51单片机倒有几分相似。一般,STM32都会配备常见外设,诸如多通道ADC,通用定时器,I2C总线接口,SPI总线接口,CAN总线接口,USB控制器,实时时钟RTC等。但是,它的每一个外部设备都具有独特之处。例如,12位精度的ADC具备多种转换模式,并带有一个内部温度传感器,带有双ADC的STM32器件,还可以使两个ADC同时工作,从而衍生出了更为高级的9种转换模式;STM32的每一个定时器都具备4个捕获比较单元,而且每个定时器都可以和另外的定时器联合工作以生成更为精密的时序;STM32有专门为电机控制而设的高级定时器,带有6个死区时间可编程的PWM输出通道,同时其带有的紧急制动通道可以在异常情况出现时,强迫PWM信号输出保持在一个预订好的安全状态;SPI接口含有一个硬件CRC单元,支持8位字节和16位半字数据的CRC计算。在对SD或MMC等存储介质进行数据存取时相当有用。


推荐阅读

史海拾趣

Freqtech Ohg公司的发展小趣事

面对电子行业快速迭代的市场环境,Freqtech Ohg公司敏锐地察觉到传统业务面临的挑战。公司果断决定进行业务转型升级,从单一的高频电子元件生产向系统解决方案提供商转变。通过整合上下游产业链资源,Freqtech成功开发出了一系列针对特定应用场景的高频电子系统解决方案,如5G通信基站、卫星导航系统等。这一转型不仅为公司带来了新的增长点,还进一步巩固了其在行业内的领先地位。

DINTEK公司的发展小趣事

在电子行业的激烈竞争中,Freqtech Ohg公司深知技术创新的重要性。公司投入大量研发资源,专注于高频电子技术的研发。经过数年的努力,Freqtech成功开发出一款高性能的高频滤波器,该产品在信号传输效率和稳定性方面远超同类竞品。这一技术创新不仅为公司赢得了国内外多个重要客户,还使得Freqtech在高频电子领域迅速崛起,成为行业内的佼佼者。

GaN Systems公司的发展小趣事

GAIA盖亚电源深知质量是企业生存和发展的基石,因此一直将质量管理放在首位。公司通过了ISO9001 V2008等国际质量管理体系认证,并建立了完善的质量管理体系。在生产过程中,GAIA盖亚电源采用高标准流程和自动化制造能力,确保每一个产品都符合严格的质量标准。此外,公司还定期对产品进行严格的测试和验证,以确保其在实际应用中的可靠性和稳定性。

Embedded Planet公司的发展小趣事

Embedded Planet公司深知人才是企业发展的核心驱动力。因此,公司一直致力于培养和吸引优秀人才,建立了一支高效、专业的团队。公司为员工提供丰富的培训和发展机会,鼓励员工不断学习和创新。同时,公司还注重团队建设和文化塑造,营造了一个积极向上、团结协作的工作氛围。这些努力使得Embedded Planet公司成为了一个充满活力和创造力的企业。

BLT Circuit Services公司的发展小趣事

BLT Circuit Services公司自创立之初,便专注于电子电路技术的研发与创新。在电子制造行业快速发展的背景下,公司投入大量资源进行技术研发,成功开发出一系列具有市场竞争力的电路板制造技术。这些技术的引入不仅提高了生产效率,还降低了生产成本,使得BLT Circuit Services的产品在市场上脱颖而出。

Celduc Relais公司的发展小趣事

随着公司实力的不断增强,Celduc Relais开始积极拓展国际市场。公司通过参加国际电子展会、建立海外销售渠道以及与当地合作伙伴建立战略合作关系等方式,逐步打开了欧洲、北美和亚洲等多个国家和地区的市场。这一过程中,公司不仅提升了品牌知名度,也积累了丰富的国际业务经验。

问答坊 | AI 解惑

实用电动机控制电路350例

实用电动机控制电路350例…

查看全部问答>

历数下你知道的嵌入式操作系统

WINDOWS CE .NET WINDOWS CE .NET是一个功能强大的实时嵌入式操作系统,也是微软第一个能够全面支持中文的WINDOWS CE操作系统,适用于快速构建新一代内存少体积小的智能设备,例如手持式设备、智能电话、机顶盒、零售点设备和显示器等。不仅如此, ...…

查看全部问答>

NMAKE : U1073: don't know how to make 'F:\WINCE420\public\common\sdk\lib\ARMV4I

在编译一个网卡驱动时出现 NMAKE :  U1073: don\'t know how to make \'F:\\WINCE420\\public\\common\\sdk\\lib\\ARMV4I\\retail\\ndis.lib\',我到这个目录下找找不到这个文件 SOURCES文件: DM9CE_SOURCENAME=DM9000 DM9CE_TARGET= ...…

查看全部问答>

急求TinyOS2.X软件下载地址!

    哪位大侠知道TinyOS2.X软件下载地址,告诉小弟,小弟感激不尽!!!!!!…

查看全部问答>

★★★★★- 诚聘【MSP430】单片机设计工程师 -★★★★★

诚聘单片机设计工程师: 1,会msp430,有设计经验 2,有msp430 C语言开发经验 3,懂信号处理,会用matlab 4,最好有工作经验1年以上 电话:010-81504648 公司网站:www.safezx.com 注:工作地点北京…

查看全部问答>

Quartus2的FPGACPLD设计

给大家介绍一个好东西~…

查看全部问答>

TIM生成有相位差的三路PWM,占空比可调

我是新手,现在接到一个新任务,核心是生成三路占空比可调的PWM,同时三路信号之间有固定的延时(相位差)。我看了版内的生成相位差180度互补的PWM,现在想问如果不要求互补,而是相位差可调,应该怎么做呢?尤其是有两路的时差已经超过一个周 ...…

查看全部问答>

2812接外围电路

如果用gpio做外围器件的片选,读写使能,那么外部器件的数据总线就不能用2812的数据总线了是么? 这种接法应该是相当于没有给外部器件分配一个地址,是这样的吧?…

查看全部问答>