跳转到主要内容

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优雅地“说”hello world?

cathy 提交于

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通信异常分析

cathy 提交于

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

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

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

STM32 SPI基础内容

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

1. SPI特性

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

2. 引脚描述

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

cathy 提交于

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

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种)

cathy 提交于

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

1.普通延时法

(1)普通延时法1

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

“”

(2)普通延时法2

“”

2.SysTick 定时器延时

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

cathy /

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

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

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

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

77条STM32知识,千万不能错过!(二)

cathy 提交于

39、DAC有两个寄存器,一个是DHR(Data HoldingRegister)数据保持寄存器,一个DOR(Data Output Register)数据输出寄存器。

真正起作用的是DOR寄存器,该寄存器把值给数模转换发生单元输出以VREF+为参考电压的电压值。

如果是硬件触发转换,系统将在1个ABP时钟周期后把值给DOR,如果是软件触发转换,时间为3个APB时钟周期。然后,均等待Tsetting时间(Typical为3us,Max为4us)后真正输出电压值。

40、DAC分8位模式和12位模式,其中后者可以选择左右对齐。

41、DMA仲裁器分为软件和硬件两种。软件部分分为4个等级,分别是很高优先级、高优先级、中等、低。硬件部分由通道的大小来决定优先级,越低优先级越高。

42、DMA有一个实时的传输数据量寄存器叫做DMA_CNDTR,最大值为65535,存放的是当前传输所要传输的数据量。当数据量变为0时,表明传输完成。

43、CAN总线(ControllerArea Network)。CAN控制器根据两根线上的电位差来判断总线电平,总线电平又分为显性电平和隐性电平,二者必居其一。

44、CAN总线具有6个特点:

1、多主控制

2、系统若软性

77条STM32知识,千万不能错过!(一)

cathy 提交于

1、 SYSCLK时钟源有三个来源:HSI RC、HSE OSC、PLL

“”

2、 MCO[2:0]可以提供4源不同的时钟同步信号。

3、 GPIO口有两个反向串联的二极管用作钳位二极管。

“”

4、 ICode总线,DCode总线、系统总线、DMA总线、总线矩阵、AHB/APB桥

5、在使用一个外设之前,必须设置寄存器RCC_AHBENR来打开该外设的时钟

6、 STM32复位有三种:系统复位、上电复位、备份区域复位。其中系统复位除了RCC_CSR中的复位标志和BKP中的数值不复位之外,其他的所有寄存器全部复位。触发方式例如外部复位、看门狗复位、软件复位等。