从0带你学会如何像人类一样写STM32程序
文章平均质量分 91
人才程序员
软件:C/C++ Qt CMake 数据结构 Linux网络。C++Opencv Python 前端(HTML、CSS....) 鸿蒙软件开发ArkTS 硬件:51单片机,esp系列(esp32、esp8266、esp32-s3),stm32、freertos。openharmony。可以带徒弟:C/C++ Python Lua STM32 esp32
展开
-
【STM32入门】CubeMX的安装
在STM32系列微控制器的开发中,STM32CubeMX是一个不可或缺的工具。STM32CubeMX是STMicroelectronics提供的一款图形化配置工具,旨在简化STM32微控制器的初始化和配置过程。通过STM32CubeMX,开发者可以直观地配置外设、生成初始化代码,并且轻松管理软件包和中间件。本文将简要介绍如何安装STM32CubeMX,并为使用者在配置STM32微控制器时提供一些基础知识。原创 2024-07-24 14:24:25 · 617 阅读 · 0 评论 -
【STM32入门】安装keil并配置STM32F1xx
STM32系列微控制器以其高性能、低功耗和丰富的外设而备受开发者青睐。其中,STM32F1xx系列作为入门级产品,具有性价比高、资源丰富的特点,非常适合作为初学者的入门选择。在开发STM32F1xx系列微控制器时,Keil MDK-ARM是一个常用且功能强大的集成开发环境(IDE),它为用户提供了便捷的代码编辑、编译、调试等功能。本文将介绍如何在Windows操作系统下安装Keil MDK-ARM并配置STM32F1xx系列开发环境,帮助初学者快速上手STM32开发。原创 2024-07-24 13:49:19 · 444 阅读 · 0 评论 -
【STM32 ARM】操作寄存器控制led
STM32是STMicroelectronics(意法半导体)公司的一款32位Flash微控制器产品,基于ARM Cortex™-M内核。STM32系列微控制器在工业控制、商业应用等领域得到了广泛的应用。本文将介绍如何使用STM32的ARM架构操作寄存器来控制LED。在嵌入式系统中,LED常常被用作简单的显示设备,可以用来指示系统的状态、运行情况等。在STM32中,我们可以通过操作GPIO(General Purpose Input/Output,通用输入输出)寄存器来控制LED的亮灭。原创 2024-07-10 11:11:03 · 776 阅读 · 0 评论 -
【STM32 ARM】寄存器操作GPIO的方法
在嵌入式系统开发中,GPIO(General Purpose Input/Output,通用输入输出)是一种非常常见的硬件接口,它可以连接和控制各种外设。STM32 ARM微控制器提供了灵活而强大的GPIO接口。然而,为了充分利用这些接口,我们需要理解如何通过寄存器操作它们。寄存器操作提供了对硬件的低级别控制,使我们能够精确地控制GPIO的行为。GPIO通过本文,我们了解了如何使用STM32 ARM微控制器的寄存器操作GPIO。虽然这需要对硬件有深入的理解,但寄存器操作为我们提供了更高的灵活性和控制能力。原创 2024-07-09 18:25:11 · 1423 阅读 · 0 评论 -
【STM32 ARM】区分MCU,MPU与AP
在嵌入式系统的世界中,我们经常会听到MCU、MPU和AP这些术语。这些都是微处理器的类型,它们在功能、性能和用途上有所不同。本文将详细介绍这些术语,并通过STM32 ARM架构的例子来解释它们的区别。总的来说,MCU、MPU和AP都是微处理器,但它们在功能、性能和用途上有所不同。理解这些差异可以帮助我们更好地选择适合特定应用的处理器。希望这篇文章能帮助你理解STM32 ARM架构以及MCU、MPU和AP的区别。如果你有任何问题或需要进一步的信息,请随时向我提问。原创 2024-07-09 17:35:54 · 387 阅读 · 0 评论 -
【硬件基础概念】ADC与DAC
在数字电子系统中,ADC(模数转换器)和DAC(数字模拟转换器)是两个至关重要的组件。ADC负责将来自外部世界的模拟信号转换为数字信号,使得数字系统可以对其进行处理和分析。而DAC则执行相反的功能,将数字信号转换为模拟信号,使得数字系统可以与外部世界进行交互。本文将介绍ADC和DAC的基本概念及其在数字电子系统中的作用。ADC和DAC是数字电子系统中至关重要的组件,它们负责在数字世界与模拟世界之间建立桥梁。原创 2024-05-07 21:17:41 · 765 阅读 · 0 评论 -
【单片机概念基础】迟迟搞不懂预分频系数、PWM占空比等等概念和计算怎么办?
在学习单片机的过程中,预分频系数和PWM(脉冲宽度调制)占空比是两个常见但容易令人困惑的概念。预分频系数涉及定时器的时钟频率控制,而PWM占空比则关系到输出波形的高低电平时间比例。本文将简要介绍这两个概念,帮助读者更好地理解和应用于单片机开发中。注意:本博客使用72MHz的CPU给大家演示预分频系数和PWM占空比是单片机中常见的概念,对于定时器和PWM模块的使用至关重要。预分频系数用于控制定时器的时钟频率,通过设置适当的分频系数,可以实现对定时器溢出时间的调节。原创 2024-03-17 08:50:27 · 4442 阅读 · 1 评论 -
【STM32 CubeMX】adxl345加速度传感器
本篇文章使用I2C进行通信在嵌入式系统中,加速度传感器是一种常见的传感器,用于检测物体的加速度或者倾斜角度。ADXL345是一款常用的数字三轴加速度传感器,由ADI(Analog Devices)公司制造。它具有高精度、低功耗和可编程的特点,因此在很多嵌入式应用中被广泛使用。本文将介绍如何在STM32 CubeMX中配置和使用ADXL345加速度传感器。本文简要介绍了如何在STM32 CubeMX中配置和使用ADXL345加速度传感器。原创 2024-02-20 08:35:46 · 6282 阅读 · 3 评论 -
【STM32 物联网】AT指令与TCP,发送与接收数据
随着物联网(IoT)技术的迅速发展,越来越多的设备和系统开始连接到互联网,实现远程监控、数据采集和远程控制等功能。在物联网应用中,STM32微控制器以其强大的性能和丰富的外设功能成为了重要的选择之一。而在STM32与互联网通信中,AT指令与TCP/IP协议成为了两个重要的技术手段。AT指令是一种简单的命令集,常用于与通信设备进行串口通信。在STM32物联网应用中,通过串口与无线模块(如SIM800、SIM900等)通信时,常常使用AT指令来控制模块实现TCP/IP连接、数据传输等功能。原创 2024-02-18 14:19:23 · 2691 阅读 · 0 评论 -
【STM32 物联网】基础AT指令与基础Wifi功能AT指令
在STM32物联网应用中,与通信模块进行交互通常涉及到使用AT指令。本文将介绍两个重要的AT指令集:基础AT指令和基础Wifi功能AT指令。基础AT指令用于与通用的通信模块(如GSM模块)进行基本的串口通信和控制,而基础Wifi功能AT指令则专注于与Wifi模块进行交互,实现连接网络、发送数据等基本Wifi功能。通过本文的介绍,我们对STM32物联网应用中的两种重要AT指令集有了基本了解。基础AT指令为与通用通信模块的交互提供了基础,包括串口通信、配置参数等基本操作。原创 2024-02-18 09:00:18 · 2399 阅读 · 0 评论 -
【STM32 物联网】AT指令的介绍
本系列STM32物联网使用的为esp8266-01S作为通信模块在物联网(IoT)应用中,通信模块与微控制器之间的串口通信是一种常见的方式。AT 指令集是一种用于控制通信模块的标准指令集,通过发送特定的命令字符串,可以实现对通信模块的配置、数据传输等操作。在 STM32 微控制器与通信模块(如 GSM 模块、WiFi 模块等)的交互中,AT 指令集被广泛应用。本文将介绍 AT 指令的基本概念和用法,以及在 STM32 物联网应用中的实际应用场景。原创 2024-02-18 08:27:11 · 3713 阅读 · 2 评论 -
【STM32 CubeMX】SPI W25Q64功能实现
SPI Flash 存储器在嵌入式系统中扮演着重要角色,它可以为微控制器提供额外的存储空间,并且具有快速的读写速度和较大的存储容量。W25Q64 是一款常见的 SPI Flash 存储器,容量为64Mb,采用 SPI 接口进行通信。在 STM32 微控制器上实现对 W25Q64 的功能使用,可以通过 STM32 CubeMX 和相关的库函数轻松完成。本文将介绍如何利用 STM32 CubeMX 和 SPI 库来实现对 W25Q64 的基本功能。原创 2024-02-17 19:06:27 · 1724 阅读 · 0 评论 -
【STM32 CubeMX】SPI_Flash_W25Q64的操作方法
在嵌入式系统开发中,使用外部 SPI Flash 存储器可以为 STM32 微控制器提供额外的存储空间,以存储程序代码、配置数据等。W25Q64 是一款常见的 SPI Flash 存储器,具有64Mb容量和SPI接口。本文将介绍如何使用 STM32 CubeMX 结合 SPI 库与 W25Q64 SPI Flash 进行集成,以便在 STM32 微控制器上实现外部存储器的读写功能。原创 2024-02-17 13:58:10 · 1629 阅读 · 0 评论 -
【STM32 CubeMX】SPI HAL库编程
STM32 CubeMX 是一款由 STMicroelectronics 提供的图形化配置工具,用于生成 STM32 微控制器的初始化代码和项目框架。在 STM32 开发中,使用 CubeMX 可以大大简化初始化过程,并帮助开发者快速构建应用程序。其中,SPI(串行外设接口)是一种常用的通信协议,它在连接外部设备时非常有用。本文将介绍如何使用 CubeMX 结合 SPI HAL 库进行 STM32 SPI 的初始化和编程。原创 2024-02-17 13:26:04 · 1741 阅读 · 0 评论 -
【STM32 CubeMX】SPI层次结构SPI协议与SPI控制器结构
随着嵌入式系统的迅猛发展,STM32系列微控制器在各种应用中得到广泛应用。在嵌入式系统设计中,串行外设接口(SPI)是一种常见且重要的通信协议。为了更便捷地配置和使用SPI,STMicroelectronics提供了一款强大的工具——STM32 CubeMX。本文将着重介绍STM32 CubeMX中SPI的层次结构、SPI协议以及SPI控制器的结构。STM32 CubeMX作为一款强大的开发工具,为嵌入式系统设计提供了便利。原创 2024-02-17 12:32:39 · 1437 阅读 · 0 评论 -
【STM32 CubeMX】I2C中断方式与DMA方式
在STM32 CubeMX环境中,I2C(Inter-Integrated Circuit)通信协议的实现可以采用中断方式或DMA(Direct Memory Access)方式。中断方式通过触发中断来处理数据传输,而DMA方式则利用直接内存访问技术来实现数据传输,减轻了CPU的负担。在选择I2C通信方式时,开发者需要根据具体的应用需求和性能要求来选择合适的方式。STM32 CubeMX提供了图形化配置工具,使得配置I2C通信方式变得更加便捷。原创 2024-02-16 14:16:53 · 2833 阅读 · 0 评论 -
【STM32 CubeMX】I2C查询方式
在STM32 CubeMX环境中,I2C(Inter-Integrated Circuit)通信协议的查询方式是一种简单而常见的通信方式。通过查询方式,微控制器不断地检查I2C总线的状态,直到数据准备就绪并可以进行传输。这种方式适用于简单的通信需求,而且在STM32 CubeMX的图形化配置工具中,我们可以方便地配置I2C的查询方式,使得通信的实现变得更加容易。对于我们的IIC协议来说,他和我们的串口是非常的像的,比如有查询方式,中断方式还有DMA方式,这都是有的本博客主要是讲解IIC的查询方式。原创 2024-02-16 13:53:09 · 1522 阅读 · 0 评论 -
【STM32 CubeMX】I2C层次结构、I2C协议
在STM32 CubeMX环境中,I2C(Inter-Integrated Circuit)是一种常用的串行通信协议,广泛应用于连接各种外设和传感器。理解I2C的层次结构、协议和硬件结构对于STM32微控制器的开发至关重要。通过STM32 CubeMX提供的图形化配置工具,我们能够更轻松地理解和配置I2C通信,同时深入了解其层次结构、协议和硬件结构,有助于更高效、可靠地设计嵌入式系统。在STM32 CubeMX环境中,对I2C的深入理解对于嵌入式系统的开发至关重要。原创 2024-02-16 13:03:09 · 1904 阅读 · 0 评论 -
【STM32 CubeMX】串口编程DMA+IDLE中断
在嵌入式系统中,串口通信是一项关键的任务,而使用DMA(直接内存访问)结合IDLE中断进行串口编程,尤其是在STM32 CubeMX环境中,能够提高系统的效率和性能。STM32 CubeMX为STM32微控制器提供了图形化的配置工具,可以简化初始化代码的生成过程,使得串口编程变得更加容易。通过结合DMA和IDLE中断,我们可以实现高效的异步串口通信,确保数据传输的可靠性,同时减轻CPU的负担。原创 2024-02-16 11:59:12 · 2197 阅读 · 0 评论 -
【STM32 CubeMX】串口编程DMA
在嵌入式系统中,串口通信是一项至关重要的功能,它允许单片机与外部设备进行数据交换,如传感器、显示器或其他设备。然而,在高速数据传输的场景下,传统的串口通信方式可能会使CPU过于繁忙,从而影响系统的性能。为了解决这一问题,STM32系列微控制器提供了DMA(直接内存访问)技术,可以在不占用CPU资源的情况下实现高速的数据传输。本文将介绍如何利用STM32 CubeMX配置串口通信并使用DMA进行数据传输。通过本文的介绍,我们学习了如何在STM32 CubeMX中配置串口通信并使用DMA进行数据传输。原创 2024-02-15 18:21:39 · 2422 阅读 · 0 评论 -
【STM32 CubeMX】学STM必会的数据结构——环形缓冲区
在嵌入式系统开发中,经常需要处理数据的缓存和传输,而环形缓冲区是一种常见且有效的数据结构,特别适用于处理实时数据流或者在有限的内存资源下高效地管理数据。在STM32微控制器的开发中,使用CubeMX工具可以方便地配置和生成环形缓冲区的代码,从而加速开发过程并提高代码的可维护性。本文将介绍STM32 CubeMX中环形缓冲区的使用方法以及其在嵌入式系统开发中的重要性。环形缓冲区是嵌入式系统开发中常用的数据结构之一,具有高效、可靠的特性。原创 2024-02-15 17:22:54 · 1759 阅读 · 2 评论 -
【STM32 CubeMX】STM32中断体系结构
STM32中断体系如下图所示:一座大型建筑物,比如一座高楼大厦,代表整个 STM32 芯片。在这座建筑物中,有许多房间和走廊,每个房间都代表一个特定功能的模块或外设,比如 GPIO、UART 等。GPIO(通用输入输出):想象每个房间都有窗户,用于与外界交流。这些窗户可以用来输入信息(外部信号)或输出信息(驱动外部设备)。GPIO 窗户可以被打开或关闭,以允许或阻止信息的流动。EXTI(外部中断):有些房间有特殊的门,称为 EXTI 门。原创 2024-02-14 13:26:35 · 1385 阅读 · 0 评论 -
【STM32 CubeMX】GPIO_HAL库源码分析
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。原创 2024-02-14 09:01:29 · 1450 阅读 · 0 评论 -
【STM32 CubeMX】GPIO的工作模式
在嵌入式系统开发中,对于STM32微控制器的GPIO(General Purpose Input/Output)引脚的配置和使用是至关重要的。GPIO引脚可以通过STM32 CubeMX工具来进行灵活的配置,以满足各种应用需求。了解GPIO的工作模式对于正确配置和使用这些引脚至关重要。GPIO是General-purpose and alternate-function I/Os的缩写他的含义是:通用和复用的引脚GPIO是分组的,每一组有很多引脚。原创 2024-02-14 08:24:53 · 1488 阅读 · 0 评论 -
【STM32 CubeMX】HAL库的本质读写寄存器
在嵌入式系统开发中,HAL(Hardware Abstraction Layer)库是一个重要的概念,它提供了一个抽象层,使开发者可以更容易地编写可移植的代码,而不必担心底层硬件的细节。STM32CubeMX是一款由STMicroelectronics提供的工具,用于生成STM32微控制器的初始化代码,其中包括了HAL库的使用。HAL库的本质与HAL库源码分析HAL库的本质是一个由供应商提供的软件库,旨在提供一系列抽象接口,用于访问底层硬件资源,如GPIO、USART、I2C等。原创 2024-02-13 18:28:08 · 1733 阅读 · 0 评论 -
【STM32基础 CubeMX】ADC的基础使用
在嵌入式系统开发中,STM32系列微控制器是广泛应用的一种硬件平台,而STMicroelectronics提供的CubeMX工具则是一款强大的开发工具,能够显著简化STM32微控制器的配置和初始化过程。其中,ADC(模数转换器)是STM32微控制器中一个重要的外设,用于将模拟信号转换为数字信号。本文将介绍ADC的基础使用,帮助初学者快速入门STM32开发,了解如何配置和使用ADC。本文介绍了在STM32微控制器上使用CubeMX配置和初始化ADC的基础知识。原创 2023-10-03 14:04:02 · 3153 阅读 · 0 评论 -
【STM32基础 CubeMX】uart串口通信
在嵌入式系统开发领域,串口通信是一项基础而重要的任务。无论是与外部传感器通信、与其他设备数据交换,还是进行远程调试和控制,UART(通用异步收发传输)串口通信都扮演着关键角色。对于初学者来说,了解如何在STM32微控制器上配置和使用UART串口通信可能会感到有些复杂。幸运的是,STMicroelectronics的CubeMX工具使这一过程变得更加简便。本文将向您介绍STM32基础和CubeMX工具,并详细解释如何配置和使用UART串口通信。原创 2023-10-03 07:56:20 · 2054 阅读 · 0 评论 -
【STM32基础 CubeMX】PWM输出
STM32微控制器是一系列功能强大的微控制器,广泛应用于嵌入式系统和电子设备中。其中一个常见的应用是生成PWM信号,用于控制各种设备,如电机、LED灯、声音发生器等。了解如何配置和使用PWM输出对于嵌入式系统开发非常重要。CubeMX是STMicroelectronics提供的一种工具,用于帮助开发人员轻松配置STM32微控制器并生成初始化代码。通过CubeMX,您可以在不深入复杂的寄存器级编程的情况下,设置PWM输出的参数,节省了大量的时间和精力。原创 2023-10-02 15:10:29 · 5894 阅读 · 1 评论 -
【STM32基础 CubeMX】定时器的使用
在嵌入式系统开发中,精确地控制时间和时序是至关重要的。STM32微控制器提供了强大的定时器功能,使开发者能够轻松地实现各种时间相关任务。本文将介绍STM32定时器的基础知识和使用方法,帮助初学者了解如何在STM32上利用定时器实现定时任务、生成脉冲信号、进行计时等操作。无论您是想要构建一个简单的LED闪烁应用还是一个复杂的实时控制系统,理解定时器的使用都是至关重要的。STM32定时器的使用是嵌入式系统开发中的基础技能之一。原创 2023-10-02 10:18:10 · 4368 阅读 · 0 评论 -
【STM32基础 CubeMX】外部中断
当涉及到STM32基础的外部中断时,我们进入了一个引人入胜的领域,它允许微控制器与外部世界进行互动并实时响应各种事件。外部中断是STM32系列微控制器的一个强大功能,它允许我们在特定条件下中断当前的程序执行,以执行一些特殊的任务或处理来自外部世界的事件。在这个系列的教程中,我们将深入研究STM32外部中断的基础知识和应用。我们将探讨以下关键主题:1.什么是外部中断?我们会解释外部中断的概念以及它在嵌入式系统中的作用。原创 2023-10-01 15:01:52 · 1251 阅读 · 0 评论 -
【STM32基础 CubeMX】按键的检测
在嵌入式系统开发中,按键检测是一个基础而重要的任务,特别是在使用STM32系列微控制器的项目中。按键通常被用于与用户进行交互、控制设备的各种功能,或者触发特定事件。本文将介绍有关STM32基础按键检测的关键概念和方法。通过按键检测,您可以实现多种功能,例如控制LED灯、切换设备模式、输入密码、启动/停止操作等。了解如何正确地检测按键状态是确保系统稳定性和用户友好性的关键一步。原创 2023-09-30 15:58:40 · 1615 阅读 · 0 评论 -
【STM32基础 CubeMX】从0带你点灯
STM32是一系列微控制器芯片的品牌,它们用于控制各种电子设备。其中的GPIO是通用输入/输出端口的简称,是STM32芯片上的一些引脚,用于与外部世界进行通信。想象一下STM32芯片就像一个微型大脑,而GPIO引脚就是它的手臂和感官。这些手臂可以用来连接到LED灯、按钮、电机、传感器等外部设备,而感官则可以用来接收来自外部世界的信息,比如检测按钮是否被按下,或者读取传感器的数据。您可以通过编程来控制这些手臂,告诉它们是应该高举还是低放,就像您控制您的手臂一样。原创 2023-09-29 15:44:14 · 793 阅读 · 0 评论