STM32框架式编程
文章平均质量分 88
STM32实战开发教程,以框架式编程为核心。
花落已飘
阿里云博客专家,CSDN万粉博主,华为云享专家。擅长C语言单片机等技术智能小车带设计,单片机C语言设计。可以带徒弟学C语言,C加加,Linux,单片机,QT等嵌入式技术。也可承接项目。
展开
-
STM32定时器详解(1)
本篇文章将带大家来学习STM32中的定时器,将会讲解到STM32中的高级定时器,通用定时器,基础定时器等内容。本篇文章主要讲解了STM32中定时器的分类和这些定时器的一些常用的基本功能。原创 2024-03-22 14:20:35 · 1126 阅读 · 0 评论 -
ARM架构基础内容
AAPCS,全称为ARM Architecture Procedure Call Standard,是ARM架构下的过程调用标准。这个标准定义了在ARM架构中函数调用和返回的约定,以确保不同编译器生成的代码之间的兼容性,以及不同模块之间的互操作性。以下是AAPCS的一些重要概念和约定:寄存器用途: AAPCS定义了一组通用寄存器,用于传递参数和返回值。在常见的AAPCS规范中,前几个参数(通常是4个或更少)被放置在寄存器 r0-r3 中,其余的参数被放置在栈上。原创 2024-03-02 21:32:11 · 1159 阅读 · 0 评论 -
STM32 IIC协议基础概念
本篇文章将带大家学习IIC通信协议的一些基础概念和使用。I2C(Inter-Integrated Circuit),通常也称为IIC(Inter-IC),是一种串行通信协议,用于在集成电路之间进行数据传输。它是由飞利浦半导体(现在的恩智浦半导体)开发的,并且在各种芯片和模块中被广泛采用。I2C协议的设计旨在简化芯片之间的通信,使得多个芯片可以通过共享同一条总线来交换信息。以下是I2C协议的基本特点和工作原理:总线架构:I2C使用两条线进行通信:串行数据线(SDA)和串行时钟线(SCL)。原创 2024-02-29 21:54:34 · 1693 阅读 · 0 评论 -
STM32 Cubemx配置SPI编程(使用Flash模块)
本篇文章来为大家讲解一下Flash模块的使用方法,Flash模块这里选择W25Q64模块。W25Q64 是一款由 Winbond 公司生产的串行闪存存储器,属于其 W25Q 系列产品。以下是关于 W25Q64 模块的一些基本信息:存储容量:W25Q64 模块通常具有 64 Megabit(Mb)的存储容量,相当于 8 Megabyte(MB)。接口:W25Q64 采用串行外围接口(SPI)进行通信。SPI 接口是一种通用的、简单的串行通信协议,通常用于与微控制器、传感器和其他外设进行通信。原创 2024-02-28 21:11:28 · 2945 阅读 · 1 评论 -
STM32 SPI(基础概念)
本篇文章来给大家讲解一个非常重要的通信协议SPI,SPI在MCU和外设之间的通信用的是非常多的,这篇文章将带大家先来学习SPI的一些概念。SPI(Serial Peripheral Interface)是一种同步串行数据通信协议,通常用于在数字系统之间传输数据。它是一种非常常见的通信协议,广泛应用于微控制器、传感器、存储器、外围设备等各种数字电路之间的通信。SPI 是一种全双工通信协议,意味着它允许同时在一条线上进行双向数据传输。通常由一个主设备(Master)和一个或多个从设备(Slave)组成。原创 2024-02-23 11:55:09 · 1290 阅读 · 0 评论 -
STM32 UART详细解读(代码的编写)
本篇文章来给大家讲解USART的代码详细讲解和使用步骤。本篇文章深入的讲解了UART发送和接收查询方式和中断方式的具体函数使用和内部原理。原创 2024-02-20 21:41:55 · 2355 阅读 · 1 评论 -
STM32 USART详细解读(理论知识)
本篇文章来给大家讲解一下STM32中的USART,USART是STM32中非常重要的一个模块,本篇文章将从STM32F1的参考手册出发进行讲解。本篇文章就讲解到这里,大家可以自己下去再多研究研究数据手册当中的内容。原创 2024-02-19 20:56:10 · 1763 阅读 · 0 评论 -
STM32 SYSTick高精度延时功能代码实现
本篇文章将给大家讲解一下SYSTICK滴答定时器,以及讲解使用滴答定时器来实现高精度延时功能的代码。SysTick定时器是嵌入式系统中常见的一个系统定时器,在ARM Cortex-M微控制器中广泛使用。用途: SysTick定时器通常被用作操作系统的时钟节拍(Tick)或者作为基本的定时器来执行周期性的任务。它可以提供一个精确的时间基准,用于定时器中断、延时函数的实现以及系统的时间管理。定时器类型: SysTick定时器是一个24位向下计数器。原创 2024-02-13 11:21:38 · 1739 阅读 · 0 评论 -
STM32 cubemx配置DMA+空闲中断接收不定长数据
本篇文章给大家讲解一下DMA+串口空闲中断接收串口不定长数据,之前我们也是讲解过串口接收不定长数据的,那么本篇文章的话将使用DMA来接收不定长数据。本篇文章就讲解到这里,大家也可以自己写代码实际操作一下。原创 2024-02-09 13:48:46 · 2535 阅读 · 0 评论 -
AW2013芯片讲解
本篇文章将带大家学习AW2013芯片的使用。AW2013是AWINIC LED驱动器产品线中支持自动呼吸模式的3通道LED驱动器产品。它可以驱动3个独立的LED或一个RGB LED组。AW2013通过常阳极恒定电流驱动LED。亮度可以通过256级PWM调制。输出电流可以在4个级别配置:15mA、10mA、5mA、0mA(默认)。AW2013支持渐变的亮度控制效果,有两种模式:直接PWM控制模式和单次编程模式。在单次编程模式中,可以灵活设置呼吸速度、时序、亮度和重复次数。原创 2023-11-16 21:05:51 · 1046 阅读 · 2 评论 -
PCF8574芯片介绍及驱动方法
本篇文章带大家学习PCF8574芯片,了解PCF8574芯片有什么作用,以及学习PCF8574的控制方法。PCF8574是TI(Texas Instruments)公司生产的一种常见的I/O扩展芯片,用于将微控制器的少量GPIO引脚扩展为更多的GPIO接口。它采用I2C总线(串行通信协议)进行与微处理器的通信。PCF8574芯片具有8个并行输入/输出引脚(即I/O口),可以根据需要配置为输入或输出模式。每个I/O口可以提供高电平或低电平的逻辑状态,用于控制外部设备或接口。原创 2023-11-10 07:58:43 · 3077 阅读 · 2 评论 -
STM32 cubemx配置USART DMA传输
本篇文章来讲解DMA的概念,并使用DMA来进行串口的数据收发。下面我们来看到DMA的两种模式,一种是循环模式,一种是内存到内存的模式。在循环模式下,DMA传输的数据可以在源和目的地之间循环传输,以连续地进行数据传输操作。这种模式下,一旦DMA传输完成,它会自动重新开始下一轮传输,而无需软件干预。循环模式对于需要在连续数据块之间进行重复传输的应用非常有用,如音频、视频流等。它可以在不中断DMA传输的情况下循环传输数据,大大提高了数据传输效率和系统性能。原创 2023-07-30 16:36:51 · 4937 阅读 · 8 评论 -
STM32 ADC基础知识讲解
在正式的学习如何编写ADC代码时我们先来学习一下ADC的基础知识部分,只有掌握好了这些基础知识才能顺利的进行后面的代码编写。ADC 指的是模数转换器(Analog-to-Digital Converter),它是一种用于将模拟信号转换为数字信号的电子设备或电路。模拟信号是连续变化的信号,可以取无限个可能的值,而数字信号则是离散的,只能表示有限个数值。ADC 的作用就是将模拟信号转换为离散的数字信号,以便数字电子系统进行处理、存储和传输。原创 2023-07-18 12:30:16 · 3267 阅读 · 0 评论 -
中断的解析
本篇文章将给大家讲解一下中断的概念和一些重要的基础知识,掌握好这些知识是学好中断必备的。中断在嵌入式开发中必不可少,希望大家好好掌握这个知识点。原创 2023-06-08 10:51:37 · 1120 阅读 · 0 评论 -
STM32cubemx配置驱动DHT11模块
本篇文章将带大家学习使用DHT11湿温度模块,使用这个模块可以获取当前的温度和湿度数据。DHT11可以用于智能家居,蔬菜大棚等项目当中适用范围广。DHT11 是一种数字式温湿度传感器,由杜邦公司推出。它可以测量环境中的温度和湿度,并将测量结果以数字形式传输给微控制器或其他电子设备,适用于通过数字信号读取环境温湿度的应用场景。DHT11 传感器使用单总线数据交换协议,可以通过一个 I/O 引脚进行控制和数据传输。原创 2023-05-25 12:28:29 · 3396 阅读 · 7 评论 -
STM32 使用SYN6288语音模块
本篇文章带大家学习一下SYN6288语音模块,这个模块可以用于车载设备,语音电子书等众多产品当中,而且这个模块支持多种编码格式,GB2312,GBK等字符编码格式。SYN6288语音合成模块是一种语音合成设备,其可实现文字转语音功能,将输入的文字信息通过内部的处理和合成,输出相对应的语音信息。SYN6288模块具有语音合成质量高、输出音质好、使用方便等特点,因此广泛应用于语音播报、语音提示、语音识别、智能家居、智能家电、安防监控等领域。支持多语言:包括中文、英文、日文、韩文等多种语言。原创 2023-05-20 19:06:34 · 14727 阅读 · 14 评论 -
STM32串口编程基础知识讲解
本篇文章给大家介绍一下串口的基础编程知识,这些知识是属于串口的理论知识,在开始学习编写代码的时候必须要掌握这些基本的知识点。本篇文章讲解了串口的基本概念知识,大家在学习编写代码时将其掌握才能更好的理解代码。原创 2023-05-16 12:29:51 · 818 阅读 · 0 评论 -
STM32 cubemx配置串口接收不定长数据
什么叫不定长数据,举一个例子你想分别发送LED ON和LED OFF来开启和关闭LED灯但是他们的数据长度是不一样的,但是单纯使用HAL库中的接收函数只能接收定长的数据那么该怎么解决这个问题呢,下面我将带大家解决一下这个问题。大家可以对这个代码自行进行测试和修改,今天的分享就到这里了。源码在公众号内:发送“串口不定长”即可获取源码。原创 2023-03-19 12:48:40 · 1402 阅读 · 1 评论 -
STM32编写OLED显示屏驱动
这篇文章将带大家学习如何编写OLED显示屏的驱动程序。这里我使用的是HAL库的硬件IIC,OLED屏幕使用的是SSD1306的。这里需要参考SSD1306的数据手册来编写驱动程序。这篇文章主要就是讲解了如何编写OLED的驱动程序。原创 2023-01-23 09:11:29 · 7309 阅读 · 0 评论 -
STM32 使用外部中断实现按键模块化
前一篇按键模块的文章我们封装了按键的功能函数等,现在为什么又需要改进呢?因为在前面我们使用的是延时函数进行的消抖,延时函数在项目开发中最好就是少使用。延时函数的大量使用会造成系统的卡顿,所以这里我们使用外部中断改进按键的代码。外部中断按键模块化下面我们直接上代码,原理部分请大家看之前的文章。使用外部可以减少延时函数的使用,而且还能使得按键更加灵敏。原创 2023-01-16 12:19:37 · 531 阅读 · 0 评论 -
STM32外部中断解析
本篇文章将带大家了解STM32F103的外部中断。本篇文章的讲解就到这里了,想要系统学习STM32的小伙伴可以找我一起交流。下一篇文章将讲解使用外部中断配置按键。原创 2023-01-14 10:15:29 · 3138 阅读 · 0 评论 -
STM32 按键模块化
本篇文章将继续带大家学习模块化编程,今天主要给大家讲解按键的模块化。按键的模块化其实和LED的模块化区别不大主要就是需要主要设置GPIO的模式为输入,然后将引脚设置为上拉。原创 2023-01-12 17:12:38 · 7251 阅读 · 0 评论 -
STM32配置LED模块化
本篇文章将带大家深入了解GPIO的配置,并带大家实现LED模块化编程。学会模块化编程是走像成功的必经之路。原创 2023-01-03 16:23:58 · 2438 阅读 · 4 评论 -
STM32框架式代码管理LED代码的讲解
文章目录前言一、头文件以及宏定义的编写二、框架式管理代码的精华:结构体三、函数的编写总结前言本文接着上一篇文章的内容带大家学习如何编写一个完整的LED代码。一、头文件以及宏定义的编写led.c#include "led.h"在led.c中我们只需要包含.h文件即可led.h#ifndef _LED_H_#define _LED_H_#include "main.h"#define u8 unsigned char#define u16 unsigned short#defi原创 2022-04-07 07:58:29 · 941 阅读 · 0 评论