STM32单片机:深入剖析STM32的时钟系统

时钟系统在单片机中的作用,就如同心脏脉搏对人体至关重要一样,其重要性不言而喻。STM32的时钟系统相较于简单的51单片机而言,显得异常复杂,无法仅凭一个时钟系统就解决所有问题。这对STM32初学者来说无疑是一个挑战。本文旨在深入剖析STM32的时钟系统,帮助读者透彻理解其背后的运行原理。   单片机时钟是由晶振产生的,晶振在通电后会产生一个固定频率的振荡信号,这个信号就是单片机时钟的源头

STM32单片机开发:HAL库开发模式

在前面的STM32实验中,我们采用了直接配置寄存器的方式(也称为寄存器开发模式)。配置的时候,我们需要查阅STM32单片机的技术手册和数据手册,了解寄存器的详情配置方式,看用到哪些配置位,这些都是很琐碎、机械的工作。使用寄存器开发方式直接操作内存单元,效率高,且对于硬件资源的控制更为灵活和精细。然而,在实际开发中,STM32单片机一般不采用纯粹的寄存器开发方式,这主要是由于以下几个原因: 开发速度

STM32单片机开发:按键中断实验

前面一节课我们了解了STM32的中断机制,并学会了如何配置与中断相关的的寄存器,也了解了开启外部中断的具体配置步骤。 本节课我们应用前面学过的中断知识,通过按键触发中断来点亮发光二极管。两只发光二极管通过限流电阻接到PA8和PA9引脚,按键一端接地一端接到PC0引脚,PC0引脚默认高电平。当按键被按下后,触发EXTI0线中断,在EXTI0线中断处理函数内改变发光二极管的状态。具体实验电路见下图。

STM32单片机的中断机制

在前面进行按键控制LED灯的实验中,程序采用轮询方式判断按键是否被按下,程序运行效率非常低下,若需要高效率运行单片机程序,就要摆脱轮询方式,使用中断来提高程序的运行效率。本文主要讲述STM32的外部中断机制,掌握外部中断寄存器的配置方式。 STM32的所有GPIO都可以用做外部中断源的输入端,STM32通过一个中断向量表来管理中断事件,中断向量表有256条记录,这说明STM32可以支持256个中断

STM32单片机开发:按键控制LED灯实验

在控制LED灯仿真实验中,我们初步了解了GPIO的功能和使用方法。本文通过按键控制LED灯实验,进一步介绍GPIO的模式配置。 要让GPIO按照设定的需求工作,必须要把GPIO配置为相应的模式,如在控制LED灯仿真实验中,如果将GPIOA配置为输入模式,实验就不会正常工作。下面结合GPIO基本结构图,来探讨GPIO的8种模式及其应用场合。 GPIO基本结构图最右端为I/O引脚,左端的器件位于芯片内

STM32单片机开发:控制LED灯仿真实验

在51单片机的开发中,我们直接配置51单片机的寄存器,控制芯片的工作方式,配置的时候,我们常常要查阅寄存器表,看用到哪些配置位,然后编写控制寄存器的代码,从而控制单片机的工作。 虽然STM32单片机比51单片机复杂,提供的寄存器数量也非常多,但开发方式和51单片机的开发方式基本相同。本实验将使用直接配置寄存器的方式来编写STM32单片机程序。 在原理图中,我们将两个LED灯接在GPIOB的PB0和

STM32单片机开发:配置STM32单片机电源

本文参考STM32单片机的《技术参考手册》和《数据手册》,介绍STM32单片机的电源引脚和proteus配置电源的方式,STM32单片机的型号为STM32F103R6。 在介绍电源引脚之前,先认识数字电路中的几个电源符号: VCC:C(circuit)表示电路的意思,即接入电路的电压; VDD:D(Device)表示器件的意思,即器件的工作电压; VSS:S(Series)表示公共连接的意思,通常

了解STM32单片机的系统架构

了解STM32单片机的系统架构,就是明确这颗芯片在硬件上由哪几部分构成?各部分的功能以及各部分之间的数据交换,对STM32单片机系统架构的把握,有助于我们进行单片机的开发。 STM32单片机系统(互联型除外)由四个驱动单元和四个被动单元构成,互联型STM32单片机有五个驱动单元,多一个以太网驱动单元。下图是STM32单片机(非互联型)的系统架构图: Cortex-M3内核是单片机的核心结构,内核由

一文了解STM32单片机

STM32中的ST指的是意法半导体,M是Microelectronics的缩写,32表示32位,即意法半导体公司开发的32位微控制器。STM32是一个32位微控制器产品系列的总称,目前这个系列中已经包含了多个子系列,分别是:STM32小容量产品、STM32中容量产品、STM32大容量产品和STM32互联型产品;按照功能上的划分,又可分为STM32F101xx、STM32F102xx和STM32F1

搭建STM32单片机开发环境

在嵌入式领域STM32芯片介于低端和高端之间,STM32芯片内核基于ARM Cortex-M架构,它相对于普通的8/16位机有更多的片上外设,可以运行μC/OS等实时操作系统,相对于可运行Linux系统的ARM高端芯片,其成本低,实时性强,STM32芯片在中端控制器市场应用非常广泛。嵌入式开发初学者在掌握51单片机开发的基础上,学习STM32系列芯片开发相对比较容易,也为后续的学习打下坚实的基础。