
STM32
文章平均质量分 83
STM32相关
行稳方能走远
日日行,不怕千万里;常常做,不怕千万事
展开
-
韦东山FreeRTOS完全开发手册之快速入门
FreeRTOS概述与体验FreeRTOS 目录结构核心文件移植时涉及的文件头文件相关头文件目录头文件内存管理Demo数据类型和编程规范数据类型变量名函数名宏的名安装Keil下载Keil安装Keil安装Pack使用模拟器运行第1 个程序使用逻辑分析仪内存管理为什么要自己实现内存管理FreeRTOS 的5 中内存管理方法Heap_1Heap_2Heap_3Heap_4Heap_5Heap 相关的函数pvPortMalloc/vPortFreexPor原创 2024-11-24 12:57:24 · 2407 阅读 · 1 评论 -
正点原子STM32(基于HAL库6) —— LCD、触摸屏、外扩SRAM、NAND FLASH
TFTLCD(MCU 屏)实验TFTLCD 简介TFTLCD 简介液晶显示控制器FSMC 简介FSMC 关联寄存器简介硬件设计程序设计FSMC 和SRAM 的HAL 库驱动程序流程图程序解析下载验证LTDC LCD(RGB 屏)实验RGBLCD原创 2024-07-15 22:55:37 · 4186 阅读 · 0 评论 -
江科大STM32最全笔记整理『终篇』
SPI协议10.1 SPI简介W25Q64简介10.3 SPI软件读写W25Q6410.4 SPI硬件外设读写W25Q64BKP备份寄存器、PER电源控制器、RTC实时时钟11.0 Unix时间戳代码示例:读写备份寄存器BKP11.2 RTC实时时钟十二、PWR电源控制12.1 PWR简介代码示例:修改主频12.3 串口数据收发+睡眠模式12.4 停止模式12.5 待机模式:十三、看门狗WDG13.1 WDG简介13.2 窗口看门狗WWDG代码示例:实现IWDG13.4原创 2024-02-08 23:16:31 · 12021 阅读 · 13 评论 -
江科大STM32最全笔记整理『中篇』
TIM(Timer)定时器基本定时器通用定时器高级定时器示例程序(定时器定时中断&定时器外部时钟)TIM输出比较示例程序(PWM驱动LED呼吸灯&PWM驱动舵机&PWM驱动直流电机)TIM输入捕获示例程序(输入捕获模式测频率&PWMI模式测频率和占空比)TIM编码器接口示例代码(编码器接口)原创 2024-01-25 22:47:41 · 9082 阅读 · 9 评论 -
江科大STM32最全笔记整理『下篇』
7、ADC数模转换器8、DMA直接存储器存取9、USART串口9-2 串口发送+接受9-3 串口收发HEX数据包I2CSPI协议10.1 SPI简介W25Q64简介10.3 SPI软件读写W25Q6410.4 SPI硬件读写W25Q64BKP、RTC11.0 Unix时间戳11.1 读写备份寄存器BKP11.2 RTC实时时钟十二、PWR12.1 PWR简介12.2 修改主频12.3 数据收发+睡眠模式12.4 停止模式12.5 待机模式:十三、看门狗WDG13.原创 2024-01-14 16:37:34 · 9712 阅读 · 7 评论 -
江科大STM32最全笔记整理『上篇』
- NVIC:内核里面用于管理中断的设备,比如配置中断优先级这些东西- SysTick:内核里面的定时器,主要用来给操作系统提供定时服务的,STM32是可以加入操作系统的,比如FreeRTOS、UCOS等。如果用了这些操作系统,就需要SysTick提供定时来进行任务切换的功能。也可以用这个定时器来完成Delay函数的功能- RCC:可以对系统的时钟进行配置,还有就是使能各模块的时钟。在STM32中,其他(非内核)外设在上电的情况下默认是没有时钟的,不给时钟操作外设是无效的,目的是降低功耗。所以在操作外设原创 2024-01-07 21:55:55 · 9066 阅读 · 64 评论 -
STM32读写内部Flash
内存映射内部Flash的构成对内部Flash的写入过程查看工程内存的分布ROM加载空间STM32读写内部Flash代码读/写入数据流程Flash 解锁擦除扇区写数据操作读数据操作再次上锁简单的小例程代码实现原创 2023-07-29 11:32:26 · 1999 阅读 · 0 评论 -
正点原子STM32(基于HAL库5) —— SRAM、SD卡、FATFS
SRAM 实验存储器简介SRAM 方案简介硬件设计程序设计程序流程图程序解析下载验证内存管理实验内存管理简介硬件设计程序设计程序流程图程序解析下载验证SD 卡实验SD 卡简介SD 物理结构命令和响应卡模式数据模式SDIO 接口简介SDIO 主要功能及框图SDIO 的时钟SDIO 的命令与响应SDIO 相关寄存器介绍SD 卡初始化流程SDIO 模式下的SD 卡初始化SPI 模式下的SD 卡初始化硬件设计程序设计SD 卡的HAL 库驱动程序流程图原创 2023-06-10 21:29:30 · 3741 阅读 · 0 评论 -
HAL库版FreeRTOS(下)
FreeRTOS 事件标志组FreeRTOS 事件标志组简介FreeRTOS 事件标志组相关API 函数FreeRTOS 事件标志组实验功能设计软件设计下载验证FreeRTOS 任务通知FreeRTOS 任务通知简介任务通知的优势任务通知的缺点FreeRTOS 任务通知相关API 函数原创 2023-05-09 21:57:35 · 1150 阅读 · 0 评论 -
HAL库版FreeRTOS(中)
FreeRTOS 任务切换PendSV 异常PendSV 中断服务函数FreeRTOS 确定下一个要运行的任务函数vTaskSwitchContext()函数taskSELECT_HIGHEST_PRIORITY_TASK()PendSV 异常何时触发FreeRTOS 时间片调度实验功能设计软件设计下载验证FreeRTOS 内核控制函数FreeRTOS 内核控制函数预览FreeRTOS 内核控制函数详解FreeRTOS 其他任务API 函数FreeRTOS 任务相关API 函数原创 2023-05-07 17:08:48 · 1597 阅读 · 0 评论 -
HAL库版FreeRTOS(上)
FreeRTOS 简介初识FreeRTOS什么是FreeRTOS?为什么选择FreeRTOS?FreeRTOS 的特点商业许可磨刀不误砍柴工查找资料FreeRTOS 官方文档Cortex-M 架构资料FreeRTOS 源码初探FreeRTOS 源码下载FreeRTOS 文件预览FreeRTOS 移植FreeRTOS 移植移植前准备添加FreeRTOS 文件修改SYSTEM 文件原创 2023-04-18 21:51:23 · 4630 阅读 · 2 评论 -
正点原子STM32(基于HAL库0) —— 开发环境、HAL库、STM32CubeMX
开发环境搭建与使用新建寄存器版本MDK 工程认识HAL库新建HAL 版本MDK 工程原创 2023-02-04 10:32:59 · 5757 阅读 · 1 评论 -
正点原子STM32(基于HAL库4) —— ADC、DAC、温度传感、光敏传感
ADC 实验ADC 简介单通道ADC 采集实验ADC 寄存器硬件设计程序设计(还没拷贝完)单通道ADC 采集(DMA 读取)实验ADC & DMA 寄存器硬件设计多通道ADC 采集(DMA 读取)实验ADC 寄存器硬件设计单通道ADC 过采样(16 位分辨率)实验ADC 寄存器硬件设计内部温度传感器实验内部温度传感器简介硬件设计光敏传感器实验光敏传感器简介硬件设计DAC 实验DAC 简介DAC 输出实验DAC 寄存器硬件设计DAC 输出三角波实验DAC原创 2023-01-29 22:02:44 · 5052 阅读 · 0 评论 -
正点原子STM32(基于HAL库3) —— 高级定时器、独立看门狗、窗口看门狗、RTC、低功耗、DMA
RTC 实时时钟实验低功耗实验ADC 实验内部温度传感器实验光敏传感器实验DAC 实验原创 2023-01-17 11:10:28 · 4056 阅读 · 0 评论 -
正点原子STM32(基于HAL库2) —— 跑马灯、按键、中断、串口、基本和通用定时器
STM32 基础知识入门寄存器基础知识STM32F103 系统架构Cortex M3 内核& 芯片STM32 系统架构存储器映射寄存器映射新建寄存器版本MDK 工程原创 2023-01-14 11:12:34 · 4636 阅读 · 2 评论 -
正点原子STM32(基于HAL库1) —— 单片机基础、启动过程、时钟配置、SYS文件夹、SPI NOR FLASH、内部FLASH、485、IAP
正点原子B站视频地址:https://www.bilibili.com/video/BV1bv4y1R7dp?p=1&vd_source=cc0e43b449de7e8663ca1f89dd5fea7d原创 2023-01-02 16:02:57 · 9351 阅读 · 3 评论 -
正点原子FreeRTOS(下)
# 第十六章FreeRTOS 事件标志组前面我们学习了使用信号量来完成同步,但是使用信号量来同步的话任务只能与单个的事件或任务进行同步。有时候某个任务可能会需要与多个事件或任务进行同步,此时信号量就无能为力了。FreeRTOS 为此提供了一个可选的解决方法,那就是事件标志组。本章我们就来学习一下FreeRTOS 中事件标志组的使用,本章分为如下几部分:16.1 事件标志组简介16.2 创建事件标志组16.3 设置事件位16.4 获取事件标志组值16.5 等待指定的事件位16.6 事件标志原创 2022-08-20 19:44:02 · 1637 阅读 · 0 评论 -
正点原子FreeRTOS(中)
# 第十一章FreeRTOS 其他任务API 函数前面几章我们花费了大量的精力来学习FreeRTOS 的任务管理,但是真正涉及到的与任务相关的API 函数只有那么几个。但是FreeRTOS 还有很多与任务相关的API 函数,不过这些API函数大多都是辅助函数了,本章我们就来看一下这些与任务相关的其他的API 函数。本章分为如下几部分:11.1 任务相关API 函数预览11.2 任务相关API 函数详解11.3 任务壮态查询API 函数实验11.4 任务运行时间壮态统计实验原创 2022-08-21 12:54:02 · 1125 阅读 · 0 评论 -
正点原子FreeRTOS(上)
第一章FreeRTOS 简介从本章开始我们就踏入了FreeRTOS 的大门,FreeRTOS 是一个RTOS 类的嵌入式实时操作系统。在此之前ALIENTEK 已经推出了UCOS 操作系统的教程和例程,但是现在为什么又要学FreeROTS 呢?这就是本章的目的,本章分为如下几部分:1.1 初始FreeRTOS1.2 磨刀不误砍柴工1.3 FreeRTOS 源码初衷..............................原创 2022-05-04 15:12:40 · 6034 阅读 · 9 评论 -
正点原子STM32(基于标准库)
正点原子B站视频地址:https://www.bilibili.com/video/BV1Lx411Z7Qa?p=4&spm_id_from=pageDriver目录STM32命名规则STM32芯片解读开发环境搭建(MDK - 就是ARM的keil,需破解 + 支持包 + CH340串口驱动+ JLINK驱动)程序下载方法 (ISP串口下载 + JLINK下载更方便)新建工程模板——基于固件库新建工程模板——基于寄存器GPIO相关配置寄存器端口复用、重映射、中断JLINK在线调试JTAG/SW.原创 2021-12-26 19:00:05 · 8064 阅读 · 1 评论 -
快速对比UART、SPI、I2C通信的区别与应用
参考:带你快速对比SPI、UART、I2C通信的区别与应用!作者:一口Linux网址:https://mp.weixin.qq.com/s/4_RSM2jk2W6nTboO1W8HCw电子设备之间的通信就像人类之间的交流,双方都需要说相同的语言。在电子产品中,这些语言称为通信协议。之前有单独地分享了SPI、UART、I2C通信的文章,这篇对它们做一些对比。目录串行 VS 并行UART通信工作原理传输步骤优劣SPI通信工作原理传输步骤优劣I2C通信工作原理传输步骤优劣串行 VS 并行电子设备.原创 2021-10-01 13:39:36 · 4323 阅读 · 0 评论 -
PID算法实现温控
传统位控制算法(二位式)PID概述及公式推导算法的基本结构比例控制及公式推导积分控制及公式推导实现温度读取及显示PID实现温控原创 2021-09-05 11:49:56 · 4829 阅读 · 9 评论 -
MODBUS通讯协议详解(基于485)
顾名思义,他是一个bus,即总线协议,如果你接触到这种协议,相信你所处的行业很可能是工业方面或者你的产品用于工业。Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气 Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。...原创 2021-09-04 13:28:54 · 30673 阅读 · 6 评论 -
深入理解STM32内存管理
在讨论STM32的内存之前,先来看看STM32的存储器系统,我们知道,STM32大都属于Cortex-M系列的处理器,可以对32的存储器进行寻址,因此存储器的寻址空间能够达到4G,这就意味着指定和数据共用相同的地址空间,也就是将程序存储器、数据存储器、寄存器和输入输出端口被组织在同一个4GB的线性地址空间内。数据字节以小端格式存放在存储器中。一个字里的最低地址字节被认为是该字的最低有效字节,而最高地址字节是最高有效字节。原创 2021-08-19 13:35:13 · 25091 阅读 · 26 评论 -
STM32F4开发板硬件简介
摘自:STM32F4开发板硬件平台简介作者:SKY丶丿平才发布时间: 2021-03-20 10:44:41网址:https://blog.youkuaiyun.com/weixin_48264057/article/details/115023309原创 2021-07-09 16:51:09 · 10629 阅读 · 0 评论 -
一行代码揭开CPU执行原理
参考:一行代码,揭开CPU执行原理!作者:嵌入式ARM网址:https://mp.weixin.qq.com/s/qFnKhWqBGRCFAnp_KC1dmw目录1、高级语言2、编译链接3、机器指令4、指令格式5、执行指令拓展总结很多刚刚入坑的小白可能对此完全没有概念,或者模模糊糊知道个大概,我们写下的一行行代码,计算机到底是如何在执行的呢?我们以x86架构的CPU为研究对象,从一个例子出发,来尝试解答这个问题。1、高级语言为了方便编程,伟大的计算机先驱们发明了一个又一个的编程语言,使得我.原创 2021-09-11 15:13:43 · 450 阅读 · 0 评论 -
单片机程序跑飞原因
参考:单片机程序又跑飞?作者:嵌入式ARM网址:https://mp.weixin.qq.com/s/a22zVdSfCqWjSmlBxK2R1Q目录数组越界/溢出中断服务程序缺失看门狗复位单片机中有看门狗,长时间不喂狗,程序就会复位。为什么长时间不喂狗呢?这是因为程序跑飞了,抛开外部因素不谈。今天就和大家分享一下,单片机程序跑飞的几个原因。在编写单片机程序的时候,由于中断服务程序写的不好,导致单片机程序总是跑飞,最后费了好长时间,花了很大功夫才找到问题原因,由此总结了单片机程序跑飞的三种现象.原创 2021-09-11 15:03:15 · 1441 阅读 · 0 评论 -
STM32F103五分钟入门系列(十三)独立看门狗IWDG
参考:STM32F103五分钟入门系列(十三)独立看门狗IWDG作者:自信且爱笑‘发布时间:2021-07-31 19:50:28网址:https://blog.youkuaiyun.com/Curnane0_0/article/details/119269391?utm_source=app&app_version=4.12.0&code=app_1562916241&uLinkId=usr1mkqgl919blen .转载 2021-08-01 17:28:29 · 2454 阅读 · 0 评论 -
STM32F103五分钟入门系列(二)GPIO的七大寄存器+GPIOx_LCKR作用和配置
摘自:STM32F103五分钟入门系列(二)GPIO的七大寄存器+GPIOx_LCKR作用和配置作者:自信且爱笑‘发布时间: 2021-05-01 12:08:32网址:https://blog.youkuaiyun.com/Curnane0_0/article/details/116276876?spm=1001.2014.3001.5501转载 2021-07-11 20:38:24 · 13536 阅读 · 4 评论 -
STM32F103五分钟入门系列(一)跑马灯(库函数+寄存器)+加编程模板+GPIO总结
摘自:STM32F103五分钟入门系列(一)跑马灯(库函数+寄存器)+加编程模板+GPIO总结作者:自信且爱笑‘发布时间: 2021-04-28 21:17:40网址:https://blog.youkuaiyun.com/Curnane0_0/article/details/116158776转载 2021-04-06 23:31:00 · 5759 阅读 · 2 评论 -
STM32 ADC转换实验
摘自:STM32 ADC转换实验作者:追兮兮发布时间: 2020-10-29 09:42:24网址:https://blog.youkuaiyun.com/weixin_44234294/article/details/109333307转载 2021-07-02 19:21:52 · 2857 阅读 · 0 评论 -
STM32使用SPI通信驱动2.4G无线射频模块发送数据
目录SPI介绍SPI接口原理SPI工作原理SPI特征引脚配置结构体库函数SPI配置过程SPI.hSPI.cNRF24L01无线射频模块NRF24L01厂家驱动代码移植NRF24L01.hNRF24L01.cmain.c串口打印调试SPI介绍SPI接口原理SPI工作原理SPI特征引脚配置结构体库函数SPI配置过程SPI.h#ifndef __SPI_H__#define __SPI_H__#include "stm32f10x.h"void SPI原创 2022-02-06 17:21:09 · 4182 阅读 · 2 评论 -
STM32使用IIC总线通讯协议在OLED屏幕上显示字符串、汉字、单总线获取DHT11模块温湿度并通过IIC显示到屏幕(软件IIC)
IIC通讯IIC物理层IIC协议层基于stm32软件IIColed.c代码oled.h文件DHT11温湿度模块DHT11.c文件DHT11.h文件软件IIC实现功能主函数main函数原创 2021-08-01 10:02:45 · 2278 阅读 · 1 评论 -
STM32使用IIC总线通讯协议在OLED屏幕上显示字符串、汉字、图像(硬件IIC)
参照:基于STM32-Oled(IIC)的使用作者:奋斗的小殷发布时间: 2021-05-07 13:09:26网址:https://blog.youkuaiyun.com/boybs/article/details/116465668原创 2021-07-11 20:41:16 · 5849 阅读 · 19 评论 -
STM32超声波模块测距串口输出/通用定时器中断并输出PWM控制舵机/系统定时器延时
摘自:stm32 超声波模块 原理 实现测距 +舵机使用作者:点灯小哥发布时间: 2021-03-10 19:37:16网址:https://blog.youkuaiyun.com/weixin_46016743/article/details/114643703原创 2021-07-10 11:29:09 · 4094 阅读 · 13 评论 -
STM32系统定时器SysTick(只能向下递减)延时闪烁灯
摘自:stm32 系统定时器 SysTick作者:点灯小哥发布时间: 2021-03-10 13:46:00摘自:stm32之系统定时器作者:打酱油的;发布时间: 2021-04-13 20:11:32原创 2021-07-09 16:39:35 · 907 阅读 · 0 评论 -
STM32通用定时器输出PWM控制舵机 —— 重装载值、比较值、当前值
PWM介绍0.前言1.PWM的工作原理2.PWM的内部运作机制3.PWM的模式模式一 边沿对齐模式模式二 中央对齐模式4.自动加载的预加载寄存器定时器输出PWM结构体定时器输出PWM库函数定时器输出PWM控制舵机原创 2021-07-09 12:05:19 · 8075 阅读 · 15 评论 -
STM32端口复用和端口重映射
摘自:stm32 端口复用和重映射作者:点灯小哥发布时间: 2021-03-09 13:49:19网址:https://blog.youkuaiyun.com/weixin_46016743/article/details/114581032原创 2021-07-09 10:15:45 · 749 阅读 · 0 评论 -
STM32通用定时器(原理、结构体、库函数、定时器中断每秒闪烁一次灯) —— 时钟源、分频值、重装载值
摘自:stm32定时器与定时器中断作者:打酱油的发布时间: 2021-04-11 01:04:09 摘自:stm32通用定时器结构体函数+定时器实现led闪烁作者:点灯小哥发布时间: 2021-03-09 12:13:32原创 2021-07-09 09:59:15 · 4633 阅读 · 9 评论 -
STM32串口结构体、库函数、串口发送字符(串)、重定向printf串口发送、串口中断接收控制灯、接收不定长数据、DMA
串口相关知识1.定义2.通信概念3.USART简介串口的结构体串口发送字符(STM32发送到上位机)串口发送字符串重定向printf原创 2021-07-08 11:16:07 · 3745 阅读 · 14 评论