了解STM32CubeIDE中图形化界面CubeMX的功能(一)

Pinout & Configuration  引脚和功能配置

        STM32CubeMX中的Pinout & Configuration是引脚和功能配置部分。这个部分允许用户对微控制器的引脚进行配置,设置其特定的功能。例如,某个引脚可以被配置为GPIO(通用输入/输出),USART(串行通信),I2C(双向串行总线),SPI(串行外设接口)等。此外,用户还可以设置与这些引脚相关的各种参数,如引脚的模式(输入、输出、复用等)、上拉/下拉电阻的使用、引脚的速率等。


System Core  系统核心

        STM32CubeMX的System Core主要涉及微控制器(MCU)的核心系统设置和功能配置。这包括时钟设置(RCC,Reset and Clock Control)、引脚配置(GPIO,General-Purpose Input/Output)以及其他低级系统功能和模式。

DMA  直接内存访问(Direct Memory Access)

        DMA是一种允许某些硬件子系统与主存储器(RAM)直接进行数据传输,而不需要通过CPU进行干预的技术。在STM32微控制器中,DMA可以用于高效地传输数据,例如从ADC到内存,或从内存到UART,从而释放CPU进行其他任务。

GPIO  通用输入输出(General Purpose Input/Output)

        GPIO是一种接口,它允许微控制器与外部设备进行通信。GPIO的引脚可以被配置为输入模式或输出模式,以实现与外部设备的数据交换和控制功能。

IWDG  独立看门狗(Independent Watchdog)

        IWDG是一个独立的看门狗定时器,用于在微控制器系统发生软件故障或挂起时复位系统。它独立于主时钟系统,并且即使主时钟停止,它也能继续运行。IWDG通常用于确保系统的可靠性。

NVIC  嵌套向量中断控制器(Nested Vectored Interrupt Controller)

        NVIC是STM32微控制器中的中断控制器,它负责管理微控制器上的中断和异常。通过NVIC,可以配置哪些中断是启用的,它们的优先级,以及中断服务程序的入口点。

RCC  复位和时钟控制(Reset and Clock Control)

        RCC负责微控制器的时钟系统。它配置微控制器的各种时钟源(如HSE、HSI、LSE、LSI、PLL等),以及分配给各个外设的时钟。RCC还负责控制微控制器的复位行为。

SYS  系统配置(System Configuration)

        SYS通常与微控制器的系统配置相关,包括引脚配置、低功耗模式、闪存选项等。它可能还包含与特定微控制器系列相关的其他系统级设置。

WWDG  窗口看门狗(Window Watchdog)

        WWDG是另一个看门狗定时器,但与IWDG不同,它有一个“窗口”时间范围。如果微控制器在这个窗口时间内没有被正确重置,WWDG将触发一个复位。WWDG和IWDG通常用于提高系统的可靠性,确保在软件故障时系统能够恢复。


Analog  模拟

        在STM32CubeMX中,当你看到与"Analog"相关的选项或配置时,它通常涉及到模拟信号的处理或模拟外设的设置。例如,你可能会遇到模拟输入(如ADC,模拟到数字转换器)的配置,这些配置允许你将模拟信号转换为数字信号以供微控制器处理。

ADC1

ADC2

        这些通常表示微控制器上的两个独立的ADC模块。大多数STM32微控制器具有多个ADC,以允许同时或顺序地采样多个模拟信号。每个ADC通常具有多个通道,这些通道可以连接到微控制器的各种模拟输入引脚或内部信号。


Timers  定时器

        STM32CubeMX的Timers(定时器)是STM32微控制器中用于实现定时功能的硬件模块。STM32的定时器功能十分强大,包括高级定时器(如TIME1和TIME8)、通用定时器(如TIME2到TIME5)以及基本定时器(如TIME6和TIME7)。
        定时器最基本的功能就是定时,定时功能可以与外设结合,实现定时发送USART数据、定时采集AD数据等功能。此外,通用定时器还可以用于输入捕获、输出比较、PWM输出、脉冲计数等。
        在STM32CubeMX中,可以通过配置参数来设置定时器的模式和配置,包括从模式选择(Slave Mode)和从模式触发选择(Trigger Source)等。这些配置参数可以帮助用户实现不同的定时功能和应用场景。

RTC  实时时钟(Real-Time Clock)

        RTC是一个独立的定时器,通常用于提供准确的时间。它通常有自己的电源供应,以便在微控制器的主电源关闭时仍然可以运行。
        RTC通常用于日期、时间、闹钟和其他与时间相关的功能。

TIM1

TIM2

TIM3

TIM4

        这些是微控制器上的通用定时器。它们可以用于多种应用,例如 PWM 输出、输入捕获、输出比较、编码器接口等。
        每个定时器都有自己的时钟源、预分频器和计数器,并可以配置为多种模式。
        TIM1 通常是一个高级定时器,具有更多的功能和更高的精度。而其他定时器(如 TIM2、TIM3、TIM4)是基本定时器,具有较少的功能和/或较低的精度。


Connectivity  连接性

        STM32CubeMX的Connectivity(连接性)是指与通信相关的外设配置部分。在STM32CubeMX中,Connectivity部分允许用户配置和启用各种通信接口和协议,如

USART(Universal Synchronous/Asynchronous Receiver-Transmitter,通用同步异步收发器)、

I2C(Inter-Integrated Circuit,一种串行通信总线协议)、

SPI(Serial Peripheral Interface,串行外设接口)等。
        通过Connectivity部分,用户可以设置通信参数,如波特率、数据位、停止位等,并可以选择异步或同步通信模式。此外,Connectivity部分还提供了与其他外设或模块的连接选项,如GPIO(通用输入/输出)引脚、ADC(模数转换器)等。

CAN  控制器局域网(Controller Area Network)

        CAN是一种用于汽车和工业自动化的串行通信协议,用于连接微控制器和其他设备,如传感器和执行器,以形成一个分布式控制系统。

I2C1

I2C2

        I2C是一种双线总线,用于连接微控制器和其他外围设备,如EEPROM、传感器、显示器等。I2C1和I2C2表示微控制器上的两个可用的I2C接口。

SPI1

SPI2

        SPI是一种同步串行通信协议,通常用于微控制器与外围设备之间的短距离通信。SPI1和SPI2代表微控制器上的两个SPI接口。

USART1

USART2

USART3

        USART是一种通用的串行通信协议,支持同步和异步通信。USART1、USART2和USART3表示微控制器上的三个可用的USART接口,用于与其他设备或系统进行串行通信。

USB  通用序列汇流排(Universal Serial Bus)

        USB是一种广泛使用的串行通信协议,用于连接各种外围设备,如键盘、鼠标、存储设备等。在STM32微控制器上,USB接口可用于设备供电、数据传输或作为主机与其他USB设备通信。


Computing  算法

CRC  循环冗余校验(Cyclic Redundancy Check)

CRC是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输或者保存后可能出现的错误。在STM32CubeMX的Computing部分中,CRC可能是一个库或模块,用于在STM32微控制器上执行CRC计算,以验证数据的完整性和准确性。这种技术广泛应用于各种通信和数据存储应用中,以确保数据的正确传输和存储。


Middleware and Software Packs  中间件和软件包

Middleware(中间件):
        中间件是介于应用程序和操作系统之间的一组软件服务或组件,用于提供某些特定的功能或服务。在 STM32CubeMX 中,中间件通常包括实时操作系统(RTOS)如 FreeRTOS、USB 库、文件系统、网络协议栈等。
        通过在 STM32CubeMX 中启用中间件,用户可以轻松地将其集成到他们的项目中,而无需从头开始编写这些复杂的软件组件。
        对于 FreeRTOS,它是一个流行的实时操作系统,可用于管理微控制器上的多任务。在 STM32CubeMX 中配置 FreeRTOS 允许用户创建和管理多个任务,以实现更复杂的控制逻辑和实时性能。
Software Packs(软件包):
        软件包是 STM32CubeMX 中提供的一组预编译的库和驱动程序,用于支持特定的硬件外设或功能。这些软件包通常由 STMicroelectronics 提供,用于简化 STM32 微控制器的软件开发过程。
        通过安装和配置软件包,用户可以轻松地添加对特定硬件外设的支持,如 GPIO、UART、SPI、I2C 等。这些软件包通常包含了与外设通信所需的驱动程序和库函数,从而简化了开发过程。
        软件包可以通过在线安装或从本地文件系统进行安装。一旦安装完成,它们就会出现在 STM32CubeMX 的软件包列表中,并可以被选择并配置到项目中。
        总之,"Middleware" 和 "Software Packs" 在 STM32CubeMX 中都是用于简化和加速 STM32 微控制器软件开发的工具和组件。中间件提供了通用的软件服务,而软件包则提供了对特定硬件外设的支持。通过合理地使用这些工具和组件,开发人员可以更高效地开发出功能强大且性能优越的嵌入式系统。

AIROC-Wi-Fi-Bluetooth-STM32

        这是一个软件包,用于在STM32微控制器上实现Wi-Fi和蓝牙功能。

FATFS

        FAT文件系统(FATFS)是一个用于存储和检索文件的软件库,支持FAT12、FAT16和FAT32等FAT文件系统格式。

FP-SNS-SMARTAG2

        这是与某种传感器或智能标签相关的软件包或中间件。

FREERTOS

        FreeRTOS是一个实时操作系统(RTOS),用于在嵌入式系统中管理多任务。

I-CUBE-ITTIADB

        这是与I-CUBE相关的某种数据库或数据存储功能的软件包。

I-CUBE-embOS

        embOS是一个嵌入式实时操作系统

I-Cube-SoM-uGOAL

        这与STM32的某种系统级模块(SoM)或uGOAL项目有关。

USB_DEVICE

        这是一个软件包,用于在STM32微控制器上实现USB设备功能。

X-CUBE- 开头的软件包

        这些都是STMicroelectronics提供的特定功能的软件包,涵盖了从算法构建(X-CUBE-ALGOBUILD)到全球导航卫星系统(X-CUBE-GNSS1)的各种功能。例如,X-CUBE-BLE1、X-CUBE-BLE2和X-CUBE-BLEMGR与蓝牙低功耗(BLE)相关,而X-CUBE-NFC4、X-CUBE-NFC6和X-CUBE-NFC7则与近场通信(NFC)相关。

        蓝牙低功耗(BLE,Bluetooth Low Energy)是一种无线通信技术,由蓝牙技术联盟(Bluetooth SIG)设计和推广。这种技术旨在实现低成本、短距离、可互操作的无线通信,特别适用于物联网(IoT)应用。
BLE的主要特点包括:
        低功耗:BLE设备在空闲或待机模式下可以消耗非常少的电能,这对于需要长时间运行的应用(如传感器、智能手环等)来说非常重要。
        短距离通信:BLE的通信距离通常在10米左右,但在某些情况下可以达到100米或更远。
可互操作性:BLE设备可以在不同厂商之间实现互操作性,这意味着用户可以连接来自不同制造商的设备,而无需担心兼容性问题。
        快速启动和连接:BLE设备可以快速启动并建立连接,这对于需要频繁建立连接的应用(如智能门锁、健身追踪器等)来说非常有用。
        蓝牙低功耗技术由蓝牙4.0引入,是蓝牙技术的一个重要分支。蓝牙技术联盟不断推出新的规范和改进,以提高BLE的性能和功能。例如,蓝牙5.0引入了更高的数据传输速率和更长的通信距离,进一步扩展了BLE的应用场景。

        近场通信(NFC,Near Field Communication)是一种短距离无线通信技术,允许电子设备在彼此靠近时进行数据交换。这种技术是由非接触式射频识别(RFID)及互连互通技术整合演变而来的,通过在单一芯片上集成感应式读卡器、感应式卡片和点对点通信的功能,利用移动终端实现移动支付、电子票务、门禁、移动身份识别、防伪等应用。
        NFC的通信距离通常在几厘米到十几厘米之间,是一种非常近距离的通信方式。由于采用了高频无线电波进行数据传输,因此NFC具有传输速度快、安全性高等特点。此外,NFC技术还具有简单易用、能耗低、成本低等优势,因此在移动设备、智能家居、医疗保健等领域得到了广泛应用。

X-CUBE-ALGOBUILD
X-CUBE-ALS
X-CUBE-BLE1
X-CUBE-BLE2
X-CUBE-BLEMGR
X-CUBE-EEPRMA1

        与EEPROM(电可擦除可编程只读存储器)的某种管理或访问功能有关。

X-CUBE-GNSS1
X-CUBE-MEMS1
X-CUBE-NFC4
X-CUBE-NFC6
X-CUBE-NFC7
X-CUBE-SFXS2LP1
X-CUBE-SMBUS

        SMBus(System Management Bus)是一种用于系统管理和通信的接口协议,此软件包提供了在STM32微控制器上实现SMBus功能的能力。

X-CUBE-SUBG2

        与某种子GHz无线通信技术相关。


        本节主要去了解STM32CubeMX界面的内容,具体的使用方法较为繁多,会再开一篇至多篇去写,并带上代码示例。

物联沃分享整理
物联沃-IOTWORD物联网 » 了解STM32CubeIDE中图形化界面CubeMX的功能(一)

发表评论