
嵌入式STM32入门
文章平均质量分 92
STM32系列内容
大象荒野
不划边界
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
FreeRTOS(速记版)
中断是微控制器一个很常见的特性,中断由硬件产生,当中断产生以后 CPU 就会中断当前的流程转而去处理中断服务,Cortex-M 内核的 MCU 提供了一个用于中断管理的嵌套向量中断控制器(NVIC)。Cotex-M3 的 NVIC 最多支持 240 个 IRQ(中断请求)、1 个不可屏蔽中断(NMI)、1 个Systick(滴答定时器)定时器中断和 11个系统异常。Cortex-M 处理器有多个用于管理中断和异常的可编程寄存器,这些寄存器大多数都在NVIC和系统控制块(SCB)中,原创 2024-09-11 12:11:33 · 979 阅读 · 0 评论 -
STM32总线和时钟树(速记版)
STM32存储器结构和系统架构原创 2024-08-16 21:43:01 · 1532 阅读 · 0 评论 -
Freertos教程-CMSIS V2 API版
结合freertos入门教材对炸鸡派lvglovwatch项目进行拆解。只结合原生Freertos讲述了CMSIS V2 API的用法。原创 2025-07-17 14:54:52 · 807 阅读 · 0 评论 -
炸鸡派-ADC例程
炸鸡派的基本例程之ADC原创 2025-07-05 16:14:42 · 710 阅读 · 0 评论 -
炸鸡派-PWM基础例程
炸鸡派的基础例程原创 2025-07-05 09:58:12 · 381 阅读 · 0 评论 -
炸鸡派-定时器基础例程
炸鸡派例程结合正点原子例程对部分知识点的梳理原创 2025-07-02 11:05:07 · 1016 阅读 · 0 评论 -
炸鸡派-基础测试例程
根据炸鸡派的代码做个简单的学习文档原创 2025-06-30 16:51:34 · 938 阅读 · 0 评论 -
STM32cubemx使用教程
右边红圈处,检查软件更新。红圈下面,安装或者更新芯片软件包。(通常工程创建过程中如果发现没有对应的芯片软件包,也会自动下载安装)原创 2025-06-28 15:28:57 · 1425 阅读 · 0 评论 -
位带和位带别名区
位带和位带别名区的介绍原创 2025-04-24 19:21:51 · 290 阅读 · 0 评论 -
PCB原理图解析(炸鸡派为例)
炸鸡派电路原创 2025-04-21 09:37:42 · 1703 阅读 · 0 评论 -
AD学习-最小系统板,双层
速记版.推荐书籍 <Cadence Allegro 500问>.这是双层板。高速4层板参考智能车视频。PCB特训班最高教到10层板。原创 2025-03-05 21:59:06 · 1097 阅读 · 0 评论 -
软通动力面试总结
设备作为mqtt客户端,需要保证可以ping通外网。然后服务端为了向设备能够发起通信,设备在内网环境下需要做内网穿透。原创 2024-12-07 18:33:32 · 1155 阅读 · 0 评论 -
STM32标准库-FLASH
W25Q128标准库操作原创 2024-12-03 15:42:36 · 1311 阅读 · 0 评论 -
STM32标准库-外部SRAM
STM32标准库外部SRAM读写原创 2024-12-03 13:02:43 · 1097 阅读 · 0 评论 -
模拟电路(速记版)
物联网模拟电路相关原创 2024-11-19 21:58:31 · 1573 阅读 · 0 评论 -
STM32标准库-待机模式
STM32待机模式是最低功耗模式,关闭电压调节器,1.8V供电区断电,PLL、HSI、HSE振荡器停止,SRAM和寄存器内容不保,仅备份寄存器和待机电路保持供电。待机时,仅复位、TAMPER(特定配置下)及使能的WK_UP引脚有效,其余IO引脚高阻。可通过设置电源控制寄存器PWR_CR的PDDS位,使CPU进入深度睡眠时进待机模式。唤醒后,除PWR_CSR外所有寄存器复位,执行流程与复位后相同。再次长按则进入待机模式,DS0 关闭。低功耗模式下,电源控制寄存器PWR_CR可设置开/关。原创 2024-11-05 13:09:54 · 1507 阅读 · 0 评论 -
STM32标准库-DMA实验
DMA控制器支持绕过CPU直接传输数据。STM32一般有DMA1、DMA2两个控制器。DMA支持各种外设、闪存、SRAM作为数据源和数据目标,具体可查表。同时仅一个有效。DMA(直接存储器访问)允许数据在地址空间间高效复制,由DMA控制器执行,无需CPU干预。STM32可配备2个DMA控制器(DMA1有7通道,DMA2有5通道,DMA2仅在大容量产品中存在),各通道管理外设对存储器的访问请求,并通过仲裁器协调优先级,提高CPU效率。字节、半字、全字对齐源和目标地址。原创 2024-11-05 11:44:01 · 994 阅读 · 0 评论 -
STM32-Modbus协议(一文通)
modbus协议STM32相关实现原创 2024-10-18 16:51:44 · 2759 阅读 · 0 评论 -
迪文串口屏例程
迪文串口屏例程 型号 DMG10600C070_03WTC 七寸原创 2024-10-17 10:33:03 · 3122 阅读 · 0 评论 -
STM32F4- SD卡和 FATFS文件系统
正点原子SD卡相关原创 2024-10-16 16:32:46 · 2319 阅读 · 0 评论 -
STM32F4-内存管理
SRAM的内存管理原创 2024-10-15 16:17:57 · 1558 阅读 · 0 评论 -
看门狗IWDG、WWDG(速记版)
内置的看门狗有独立看门狗 IWDG和窗口看门狗 WWDG都用来在程序卡死的时候复位程序。独立看门狗只有一个最晚时间界限。窗口看门狗有一个最早界限和最晚界限。独立看门狗有独立的时钟,一般设置来源时钟LSI40KHz。窗口看门狗挂靠在APB1总线上36MHz。原创 2024-08-01 21:53:30 · 995 阅读 · 0 评论 -
STM32HAL库--定时器篇(速记版)
STM32F4有2个基本定时器,TIM6 和 TIM7。基本定时器框图有三个部分,时钟源控制器和时基单元。时基单元又有PSC预分频器CNT计数器和ARR自动重装载寄存器。基本定时器相关寄存器有6个:PSC 预分频寄存器,存储预分频值。预分频9000就写8999。CNT 计数器,存当前计数值。ARR 自动重装载寄存器。存储重装载值。计数9000就写8999。CR1 控制寄存器1。有ARPE位控制自动重装载预装载使能。有CEN位控制计数使能。原创 2024-06-20 20:38:00 · 2160 阅读 · 0 评论 -
实时时钟RTC+电源控制PWR(速记版)
Unix时间戳以秒为单位从1970年1月1日00:00:00 UTC(协调世界时间)开始计算。这个时间点被称为“Unix纪元”(Unix Epoch)。Unix时间戳表示从这个起始时间点到指定时间点的秒数。Unix时间戳与时区无关。无论在世界的哪个地方,Unix时间戳都是相同的。原创 2024-08-01 20:28:09 · 1369 阅读 · 0 评论 -
CAN通信(速记版)
CAN 协议经过 ISO 标准化后有两个标准:ISO11898 标准和 ISO11519-2 标准。前者适用通信速率为 125Kbps~1Mbps 场景,后者适用125Kbps以下场景。STM32 自带基本扩展 CAN(bxCAN)。它支持 CAN 协议 2.0A 和 2.0B,都属于11898标准。支持最高传输速率为1 Mbps。CANFD类似CAN2.0,支持5Mbps。2.0A使用标准帧格式,而2.0B使用扩展帧格式。原创 2024-08-08 11:49:46 · 1797 阅读 · 0 评论 -
MQTT(速记版)
MQ一般指消息队列中间件,而MQTT是一种轻量级、发布-订阅模式的消息传输协议。MQTT是基于TCP/IP协议族的,位于应用层。TCP/IP协议族的网络模型:四层模型:应用层、传输层、网络层、数据链路层应用层: HTTP, HTTPS, FTP,SMTP , POP3, ssh MQTT传输层: TCP, DUP网络层: IP数据链路层双向通信:发布、订阅模式是双向通信,客户端既可以向主题发布消息,也可以订阅接收特定主题上的消息。连续、有状态的会话:MQTT 提供了客户端与。原创 2024-08-03 11:22:25 · 345 阅读 · 0 评论 -
每日面试题Day1
声明不为变量开辟空间,是对变量的类型和名称进行说明。原创 2024-08-12 20:59:19 · 992 阅读 · 0 评论 -
每日面试题Day2
给一个short,末端放个1,然后16位的 Short 用数组拆成两个 8 位的char,判断高位低位哪边大。修饰函数参数、函数返回值、定义常量、修饰对象。sizeof是获取参数的内存大小,参数 \0 会保存在代码段常量区,2字节。定义静态变量或者函数,静态变量只初始化一次,如果在类里就属于类。防止编译器优化,a=1,a=2,a=3不被优化成a=3,C/C++中,strlen是逐字符扫描,碰到\0结束。const 定义常量 ,define 也定义常量,,因为寄存器的值经常改变,防止读缓存。原创 2024-08-13 22:06:12 · 843 阅读 · 0 评论 -
µC/OS-III
中断是 CPU 的一种常见特性,中断一般由硬件产生,当中断发生后,会中断 CPU 当前正在执行的程序而跳转到中断对应的服务程序中去执行,ARM Cortex-M 内核的 MCU 具有一个用于中断管理的嵌套向量中断控制器(NVIC,全称:Nested Vectored Interrupt Controller)。ARM Cortex-M 的 NVIC 最大可支持 256 个中断源,其中包括 16 个系统中断和 240 个外部中断。原创 2024-08-13 21:13:59 · 1098 阅读 · 0 评论 -
FMC和FSMC
他们共用地址数据总线等信号,他们具有不同的 CS 以区分不同的设备,比如外设 TFTLCD 就是用的 FMC_NE1 做片选,其实就是将 TFTLCD 当成 SRAM 来控制。至于于 ADDR[27:26] 的设置,当使用 FMC_NE1 来连接外部设备的时候,是直接在寄存器中配置区域1 的寄存器组。最大255个时钟周期。需要每隔一段时间刷新一次数据,才能保存数据,掉电丢失数据,是行列地址复用的,许多都有页模式。地址线(A0~A18),数据线(D0~D15),写信号 WE,读信号 OE,片选信号 CS,原创 2024-08-09 19:23:44 · 2202 阅读 · 0 评论 -
STM32HAL库 -- RS485接口通信(速记版)
485(一般称作 RS485/EIA-485)隶属于OSI 模型物理层,是串行通讯的一种。电气特性规定为2 线半双工,多点通信的类型。它的电气特性和 RS-232 大不一样。用缆线两端的电压差值来表示传递信号。RS485 仅规定了接受端和发送端的电气特性。它没有规定或推荐任何数据协议485 推荐的一主多从连接方式如图 40.1.1 所示:可作为RS485 的收发器。原创 2024-06-27 11:59:01 · 2289 阅读 · 0 评论 -
STM32HAL库 -- SPI 读写 FLASH实验(速记版)
SPI 是英语 Serial Peripheral interface 缩写,顾名思义就是串行外围设备接口。SPI 通信协议是 Motorola 公司首先在其 MC68HCXX 系列处理器上定义的。SPI 接口是一种高速的全双工同步的通信总线,已经广泛应用在众多 MCU、存储芯片、AD 转换器和 LCD 之间。大部分 STM32 有3 个SPI 接口,本实验使用的是 SPI5。SPI的引脚信息MISO(Master In / Slave Out)主设备数据输入,从设备数据输出。MOSI。原创 2024-06-27 10:48:24 · 2026 阅读 · 0 评论 -
STM32HAL库--IIC实验(速记版)
IIC(Inter-Integrated Circuit)总线是一种由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器以及其外围设备。IIC 是由数据线 SDA和时钟线 SCL构成的串行总线。IIC 总线有如下特点:① 数据线用来传输数据,时钟线用来同步数据收发。② 总线上每个器件都有唯一器件地址,只需知道器件地址,根据时序即可实现微控制器与器件之间的通信。③ 数据线 SDA 和时钟线 SCL都是双向线路空闲时都是 SDA 和 SCL 都是高电平。原创 2024-06-26 15:13:19 · 1466 阅读 · 0 评论 -
STM32HAL库--DMA实验(速记版)
DMA,全称为:Direct Memory Access,即直接存储器访问。DMA 传输方式无需 CPU 直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为 RAM 与 I/O 设备开辟一条直接传送数据的通路,能使 CPU 的效率大为提高。STM32F429 最多有 2 个 DMA 控制器共 16 个数据流(每个控制器 8 个),每一个 DMA控制器都用于管理一个或多个外设的存储器访问请求。每个数据流总共可以有多达 8 个通道(或称请求)。每个数据流通道都要一个。原创 2024-06-25 19:18:24 · 1904 阅读 · 0 评论 -
STM32HAL库--NVIC和EXTI
NVIC,嵌套向量中断控制器,ARM Cortex-M内核的组件,用来中断使能挂起记录中断激活标志位配置中断优先级。分别对应寄存器组有中断使能和除能 ISER[8] ICER[8] 8个*32位寄存器中断挂起和解挂 ISPR[8] ICPR[8]记录中断激活标志位 IABR[8]配置中断优先级 IP[240] 240*8位寄存器,仅用高4位,放抢占优先级和子优先级。原创 2024-06-19 11:56:44 · 1648 阅读 · 0 评论 -
STM32--IAP程序升级实验
如果我们用的 Flash 容量大到可以存储两个或多个的完整程序,在保证每个程序完整的情 况下,上电后的程序通过修改 MSP 的方式,就可以保证一个单片机上有多个有功能差异的嵌 入式软件,这就是我们要讲解的 IAP 的设计思路。appxaddr存放的是用户程序Flash的首地址,(*(volatile u32*)appxaddr)的意思是取用户程序首地址里面的数据,这个数据就是用户代码的堆栈地址,堆栈地址指向RAM,而RAM的起始地址是0x20000000。从而MSP取值和CP取值的地址不同!原创 2024-06-18 15:55:30 · 2305 阅读 · 0 评论 -
HAL库--LCD实验
Liquid Crystal Display,即液晶显示器,由:玻璃基板、背光、驱动IC等组成。全彩LCD,是一种全彩显示屏(RGB565、RGB888),可以显示各种颜色。LCD基本组成:一个像素点有RGB三种色来表示。LCD接口分类:MCU屏接口由于自带SRAM,驱动简单,大部分单片机都能驱动!一眼看过去排针多的基本上都是MCU接口的屏并口总线时序,常用于MCU屏驱动IC的访问,由Intel提出,也叫英特尔总线8080时序信号说明8080写时序8080读时序/*8080时序简化写代码*/原创 2024-06-13 20:31:41 · 969 阅读 · 0 评论 -
HAL库--内存保护(MPU)实验
说白了MPU用来管理内存和外设存储区的访问权限MPU可配置保护8/16个内存区域(看芯片型号),每个区域最小要求256字节,且每个区域还可配置为8个子区域(大小一样)。可配置16个内存区域Cache(高级缓存)是提升STM32性能的关键一步。M7内核芯片做了一级Cache支持,Cache分为数据缓存D-Cache和指令缓存I-Cache。Cache支持4种基本操作:1,使能;2,禁止;3,清空;4,无效化数据缓存D-Cache是解决CPU加速访问SRAM。原创 2024-06-13 17:33:55 · 994 阅读 · 0 评论 -
GPIO简介
上图比较关键的几个器件有 保护二极管、内部上下拉电阻、施密特触发器、P-MOS&N-MOS管一个信号输入进来,经过保护二极管,之后有两条路可以走,一个是模拟输入,也就是ADC和DAC,另一个是经过TLL肖特基触发器,之后可作为复用功能输入,两条路最后都是到达片上外设。经过TTL肖特基触发器后还可将信号保存到数据寄存器(IDR寄存器),之后可通过CPU去读ODR寄存器,这样就可以知道引脚输入的信号是高还是低(作为通用输入)原创 2024-05-10 23:24:55 · 1333 阅读 · 0 评论 -
STM32时钟系统和时钟树
正点原子提供的System文件夹包含常用的函数和驱动Systic即系统滴答定时器,包含在M3/4/7内核里面,核心是一个24位的递减计数器F1/F4/F7的Systic定时器的时钟来源于HCLK,也就是AHB总线上的时钟H7的Systic定时器的时钟来源于SYS_d1cpre_ck(H7),也就是系统的d1分频器Systic重装载数值寄存器(Load)和Systic当前数值寄存器(Val)Systic控制及状态寄存器(CTRL)原创 2024-05-09 15:38:21 · 1759 阅读 · 0 评论