STM32

STM32是STMicroelectronics(意法半导体)推出的一系列基于ARM Cortex-M内核的32位微控制器(MCU)产品。这些微控制器提供了广泛的产品系列,覆盖了多种不同的性能和功能需求,适用于各种应用领域,包括工业控制、汽车电子、消费类电子、医疗设备等。

STM32系列微控制器以其高性能、低功耗、丰富的外设接口和灵活的开发工具而闻名。它们通常具有丰富的存储器、多种通信接口(如UART、SPI、I2C、CAN等)、模拟数字转换器(ADC)、定时器、PWM输出等功能,以满足不同应用场景下的需求。

STM32微控制器通常使用标准的ARM Cortex-M内核,包括Cortex-M0、M0+、M3、M4和M7等,这些内核具有不同的性能和功耗特性,可根据具体应用的需求进行选择。此外,STM32系列还提供了多种封装和引脚配置,以满足不同尺寸和集成度的要求。

STMicroelectronics为STM32系列提供了丰富的开发工具和支持资源,包括基于ARM开发环境的集成开发环境(IDE)、调试器、评估板和参考设计等。这些工具和资源有助于开发人员快速开发和部署他们的应用,并提供了全面的技术支持和文档资料,帮助用户充分发挥STM32微控制器的性能和功能优势。

开发板评测 | STM32 Nucleo-64开发板 + 串口通信

STM32 Nucleo-64开发板MCU的型号是STM32L053R8T6,下面来创建串口通信例程。

一、安装软件

这里安装官网的STM32CubeMX软件,软件地址:

福利来一波!STM32 Nucleo-64开发板免费送,幸运锦鲤就是你!

在上一次Freescale DKKL46开发套件免费送的活动中,我们抽出了3名幸运儿并获得我们的开发套件,你是其中的一位吗?

不是?没关系,说不定这次的好运锦鲤就是你哦!

STM32编程:是时候深入理解栈了

为什么要深入理解栈?做C语言开发如果栈设置不合理或者使用不对,栈就会溢出,溢出就会遇到无法预测乱飞现象。所以对栈的深入理解是非常重要的。

注:动画如果看不清楚可以电脑看更清晰。

啥是栈

先来看一段动画:

没有比这个更直观的啦,栈是一种受限的数据结构模型,其数据总是只能在顶部追加,利用一个指针进行索引,顶端叫栈顶,相对的一端底部称为栈底。栈是一种LIFO后入先出的数据结构。

栈就两种操作:

  • PUSH,压栈,向栈内加入数据,
  • POP,出栈

再进一步探讨:

首先将栈与堆分清,从看到这篇文章开始,我建议你不要把堆和栈连在一起叫,栈是栈,堆是堆,这是两回事,别混为一谈!(堆本文不深入讨论)

窗口看门狗是什么?与独立看门狗的区别?

STM32有两个看门狗,独立看门狗和窗口看门狗。其实两者的功能是类似的,只是喂狗的限制时间不同。

窗口看门狗

窗口看门狗,之所以称为窗口,是因为其喂狗时间是一个有上下限的范围内,你可以通过设定相关寄存器,设定其上限时间和下限时间。喂狗的时间不能过早也不能过晚。

如何让STM32优雅地“说”hello world?

01、前言

STM32上hello world,说白了就是使用串口向PC上的上位机软件或者串口调试助手发送字符串。

串口的使用方法百度一下就能知道了,简单来说就是下面这样。

uint8_t buff[BUFF_SIZE];//定义一个缓存数组

HAL_UART_Receive_IT(&huart1, (uint8_t *)buff, BUFF_SIZE);//打开串口接收中断

串口中断打开之后,当接收到BUFF_SIZE个数据后就会进入

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart);

然后我们就可以在上面这个函数下操作收到的数据啦,简单方便快捷。当然实际操作一遍后大家就会发现,这个程序只能进入一次中断,之后就再也收不到数据了,这是因为HAL库在每次进入串口中断时都会把这个中断关闭,所以我们处理完数据之后,要重新打开中断。

STM32学习笔记 | SPI通信异常分析

SPI,全称为 Serial Peripheral Interface(串行外设接口),是一种用于短距离通信的同步串行通信接口,主要应用在嵌入式系统。

这是第二篇分享,《STM32学习笔记》之SPI通信常见问题分析。

SPI的应用场合很广,显示模组、时钟芯片、存储芯片、温度传感器等众多器件都有使用SPI接口通信。这些器件通常作为从设备,STM32作为主设备来控制它们。

STM32 SPI基础内容

绝大部分STM32芯片都有多个SPI外设,它可与外部SPI器件进行半双工/全双工同步串行通信。

1. SPI特性

  • 三条线全双工、双线单工同步传输
  • 支持 8 位或 16 位传输帧格式选择
  • 支持主模式或从模式操作
  • 可编程的时钟极性和相位
  • 支持 MSB 或 LSB 数据顺序
  • 支持DMA收发数据

2. 引脚描述

STM32学习笔记 | 电源管理及低功耗设计要点

一款好的电子产品,都需要认真考虑电源管理的问题,电池供电的产品更应该注意低功耗的实现。

STM32电源介绍

每一块STM32芯片中都有一个电源控制器(PWR),不同系列的STM32有相似,也有差异。

1.电压

绝大部分STM32的电压要求介于 1.8 V 到 3.6 V 之间,嵌入式线性调压器用于提供内部 1.2 V 数字电源。

2.类型

STM32的电源通常分为三类:数字电源、模拟电源、备份电源。

数字电源:VDD也是其主电源,主要用于数字部分;

模拟电源:VDDA用于模拟部分的电源,比如ADC,这样可以单独滤波并屏蔽 PCB 上的噪声。

备份电源:VBAT用于备份区域的电源,比如RTC、备份SRAM等,一旦主电源断开,VBAT可以为这些区域提供电源。

STM32延时函数的四种方法:普通延时(2种)、SysTick 定时器延时(2种)

单片机编程过程中经常用到延时函数,最常用的莫过于微秒级延时delay_us( )和毫秒级delay_ms( )。

1.普通延时法

(1)普通延时法1

这个比较简单,让单片机做一些无关紧要的工作来打发时间,经常用循环来实现,不过要做的比较精准还是要下一番功夫。下面的代码是在网上搜到的,经测试延时比较精准。

“”

(2)普通延时法2

“”

2.SysTick 定时器延时

弄清STM32固件版权常见问题,避免不必要的麻烦!

现在大家都开始重视版权的问题了,相信有不少电子工程师都收到了Altium公司的律师函。

今天就来说说STM32固件版权的问题:

Q:STM32固件是否包含ST版权资料?
A:是。

Q:我是否能在非ST微处理器上使用STM32固件?
A:除非拥有特许证书许可,STM32固件只能配合ST微处理器使用。

资料下载:STM32自举程序中使用的I2C协议

本应用笔记说明了 STM32 微控制器自举程序中使用的 I2C 协议。它详细说明了每个支持的指令......