简单了解stm单片机详细介绍

STM32 是意法半导体推出的一系列基于 ARM Cortex - M 内核的 32 位微控制器

STM32 板子的核心是基于 ARM Cortex - M 内核的处理器,它就像整个系统的 “大脑”,负责执行各种指令和处理数据。内核包含了运算器、控制器和寄存器等组件,能够进行算术运算、逻辑运算以及对整个系统的控制。

1.运算器是处理器中负责数据运算的核心部件,它能对数据进行算术运算和逻辑运算。在 STM32 的 Cortex - M 内核里,运算器可快速处理数据,以支持各种应用程序的运行。

运算器从寄存器中获取操作数,对其进行相应的运算,然后将运算结果再存回寄存器。例如,执行加法运算时,运算器从两个指定的寄存器中读取数据,将它们相加后,把结果存到另一个指定的寄存器中。

STM32 的运算器支持多种数据类型,如 8 位、16 位和 32 位整数,部分还支持单精度浮点数运算。在处理不同类型的数据时,要根据需求合理选择数据类型,以平衡精度和性能。例如,在简单的传感器数据采集场景中,使用 8 位或 16 位整数可能就足够了;而在需要高精度计算的应用中,可能需要使用浮点数。

2.控制器是整个处理器的指挥中心,它负责协调和控制处理器内各个部件的工作,确保指令按照正确的顺序执行。

控制器依据程序计数器(PC)的值从存储器中读取指令,对指令译码后生成控制信号,控制运算器、寄存器等部件完成指令规定的操作。每执行完一条指令,PC 的值会自动更新,指向下一条要执行的指令。

控制器负责处理各种异常和中断事件,如复位、外部中断、定时器中断等。当发生异常或中断时,控制器会暂停当前正在执行的程序,保存现场,然后跳转到相应的异常处理程序或中断服务程序中执行。处理完成后,再恢复现场,继续执行原来的程序。在编写中断服务程序时,要尽量减少执行时间,以避免影响系统的实时性。

3.寄存器是位于处理器内部的高速存储单元,用于临时存放数据和指令,其读写速度远高于外部存储器(如闪存和 RAM)。

CPU 在执行指令时,会根据指令的要求从寄存器中读取数据,或者将处理结果写入寄存器。寄存器的访问速度极快,能够满足处理器高速运算的需求。不同类型的寄存器在处理器中扮演着不同的角色,共同协作完成数据处理和指令执行的任务。

1.闪存(Flash):用于存储程序代码和常量数据。当板子上电启动时,处理器会从闪存中读取程序代码并开始执行。闪存具有掉电数据不丢失的特性,适合长期保存程序。

闪存的编程和擦除操作需要遵循一定的时序和规则。在进行编程操作时,需要先将相应的扇区擦除,然后再写入数据。擦除操作会将扇区中的所有数据清零,因此在进行擦除操作之前,需要备份重要的数据。

闪存的擦除次数是有限的,一般为 10 万次到 100 万次不等。在设计程序时,要尽量减少对闪存的擦除操作,或者采用磨损均衡算法来延长闪存的使用寿命。

2.随机存取存储器(RAM):程序运行时,数据和变量会被临时存储在 RAM 中。RAM 的读写速度较快,能够满足处理器快速访问数据的需求,但掉电后数据会丢失。在嵌入式系统中,RAM 资源通常有限,需要优化内存使用。

在 STM32 中,需要合理管理 RAM 空间。可以使用静态内存分配和动态内存分配两种方式。静态内存分配是在编译时就确定变量的内存空间,而动态内存分配是在运行时根据需要分配内存。在使用动态内存分配时,要注意内存泄漏和内存碎片问题。

时钟系统为 STM32 提供了工作的节拍,就像人的心跳一样。它产生的时钟信号用于同步各个组件的操作。STM32 通常有多个时钟源,如内部 RC 振荡器、外部晶振等,并且可以通过时钟配置寄存器对时钟进行分频、倍频等操作,以满足不同外设和系统的时钟需求。

GPIO 有多种工作模式,如输入浮空、输入上拉、输入下拉、模拟输入、推挽输出、开漏输出、复用推挽输出、复用开漏输出等。在配置 GPIO 时,需要根据实际需求选择合适的工作模式。例如,当连接按键时,通常使用输入上拉或输入下拉模式;当连接 LED 灯时,通常使用推挽输出模式。

2.串口通信接口(UART,SPI,IIC等):用于与其他设备进行数据通信。例如,UART 可以实现与计算机或其他串口设备的通信,SPI 常用于与外部传感器或存储器进行高速数据传输,I2C 则适用于连接多个低速设备。

3.模拟外设(ADC,DAC):ADC(模拟 - 数字转换器)可以将模拟信号转换为数字信号,常用于读取传感器的模拟输出;DAC(数字 - 模拟转换器)则将数字信号转换为模拟信号,可用于输出音频信号等。

4.定时器(TIM):生成PWM、测量脉冲宽度、定时中断等。

STM32 的 DMA 控制器通常有多个通道,每个通道可以独立地进行数据传输。在使用 DMA 时,需要选择合适的 DMA 通道,并配置相应的寄存器,如源地址、目标地址、传输数据长度等。

支持多种低功耗模式(Sleep、Stop、Standby),通过降低时钟或关闭外设以节省能耗。

本文部分内容由豆包生成,仅供个人学习使用。后续会更详细学习stm32所需要掌握的内容

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

THE END
0.STM32Microcontrollers(MCUs)STM32Cube tools further STM32系列32位微控制器基于Arm® Cortex®-M处理器,旨在为MCU用户提供更高的开发自由度。该系列产品结合了高性能、实时功能、数字信号处理、低功耗/低电压操作和出色的连接性,同时保持高度集成和易于开发的特点。 STM32系列微控制器种类丰富,基于行业标准内核,提供了丰富的工具和软件https://www.st.com/zh/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html
1.STM32|产品|STM32|MCU单片机|意法半导体STM|STMCU中文STM32 32位ARM Cortex MCUSTM32系列32位微控制器基于Arm® Cortex®-M处理器,旨在为MCU用户提供新的开发自由度。它包括一系列产品,集高性能、实时功能、数字信号处理、低功耗/低电压操作、连接性等特性于一身,同时还保持了集成度高和易于开发的特点。STM32系列微控制器品种齐全,基于行业标准内核,提供了大量https://www.stmcu.com.cn/Product/pro_detail/PRODUCTSTM32/product
2.专为USBTypeC及功率传输而设的STM32解决方案现有500多款STM32 MCU已内置USB功率传输控制器外设 (UCPD),能够在不使用外部功率传输控制器的情况下实现受电、供电或双角色端口。 STM32 UCPD MCU符合最新的USB PD r3.1规范,并支持: SPR消息(标准功率范围可达100 W) EPR消息(扩展功率范围可达240 W) PPS(可编程电源) AM(备用模式) STM32MCU WIKI USB功率传https://www.st.com/content/st_com/zh/ecosystems/stm32-usb-c.html
3.STM32数字电源生态系统STM32数字电源生态系统 STM32数字电源生态系统概述 产品 进化的生态系统 资源 与Biricha展开合作 STM32数字电源生态系统 (D-Power) 可帮助开发人员加快数字SMPS、照明、焊接、太阳能系统逆变器和无线充电器等数字电源应用的开发进程。该生态系统可提供硬件、软件工具、嵌入式软件、培训资源以及相关文档。 以数字电源为https://www.st.com/content/st_com/zh/ecosystems/stm32-digital-power.html
4.STM32单片机的工作原理和调试方法控制/MCU四、STM32单片机的应用前景 1.物联网:随着物联网技术的普及,STM32系列单片机在智能家居、智能穿戴设备等领域有着广泛的应用前景。它们的高性能、低功耗和丰富的接口使其成为物联网解决方案的理想选择。 2.工业自动化:STM32系列单片机在工业自动化领域也具有广泛应用前景。它们的高性能、实时时钟和丰富的外设使得在工https://www.elecfans.com/emb/danpianji/202309132244678.html
5.STM32单片机和51单片机有何区别?51和STM32的区别 51单片机是对所有兼容Intel8031指令系统的单片机的统称,这一系列的单片机的始祖是Intel的8031单片机,后来随着flash ROM技术的发展,8031单片机取得了长足的进展成为了应用最广泛的8bit单片机之一,它的代表型号就是ATMEL公司的AT89系列。 STM32单片机则是ST(意法半导体)公司使用ARM公司的cortex-M3为核心生https://picture.iczhiku.com/weixin/message1614561564027.html