![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32
文章平均质量分 86
熟练的魔法师
还是稚嫩了
展开
-
【嵌入式】堆栈与单片机内存
在片内RAM中,常常要指定一个专门的区域来存放某些特别的数据它遵循顺序存取和后进先出(LIFO/FILO)的原则,这个RAM区叫堆栈。其实堆栈就是单片机中的一些存储单元,这些存储单元被指定保存一些特殊信息,比如地址(保护断点)和数据(保护现场)。原创 2023-10-12 15:41:48 · 673 阅读 · 0 评论 -
【STM32】sct 分散加载文件的格式与应用
在 MDK 的“Options for Target->Linker->Use Memory Layout from Target Dialog”选项可配置该选择。1.勾选时,原创 2023-09-28 17:18:13 · 3547 阅读 · 2 评论 -
【STM32】IAP升级01 bootloader实现以及APP配置(主要)
STM32的IAP升级原创 2023-09-27 18:04:07 · 3453 阅读 · 2 评论 -
【STM32】IAP升级02关闭总中断,检测栈顶指针
这样在 __enable_irq()开启总中断后,MCU就不会响应之前触发的中断了。这说明__disable_irq()只是禁止CPU去响应中断,没有真正的去屏蔽中断的触发,中断发生后,相应的寄存器会将中断标志置位,在__enable_irq()开启中断后,由于相应的中断标志没有清空,因而还会触发中断。// 开启总中断 但测试发现这样一个问题,在关闭总中断后,如果有中断触发,虽然此时不会引发中断,但在调用__enable_irq()开启总中断后,MCU会立即处理之前触发的中断。IAP升级时需要关闭总中断。原创 2023-09-27 15:45:37 · 1097 阅读 · 0 评论 -
【STM32】读写内部Flash初步使用
基于stm32f103,作为个人学习记录使用STM32 芯片内部有一个 FLASH 存储器,它主要用于存储代码,在紧急状态下常常会使用内部 FLASH 存储关键记录;原创 2023-09-26 16:48:00 · 2099 阅读 · 0 评论 -
【STM32】IAP升级00 预备知识
Flash够大的情况下,上电后的程序通过修改 MSP 的方式,可以在一块Flash上存在多个功能差异的程序。IAP是为了在执行正常功能前,为了升级功能,提前运行的一段程序。这个程序不执行正常的功能操作,而只是通过某种通信方式(如 USB、USART)接收程序或数据,执行对第二部分代码的更新;1)检查是否需要对第二部分代码进行更新2)如果不需要更新则转到 4)3)执行更新操作4)跳转到第二部分代码执行第一部分称为bootloader程序,第二部分称为APP。原创 2023-09-22 16:43:07 · 655 阅读 · 0 评论 -
【STM32】SDIO—SD 卡读写01
1.SD 卡总共有 8 个寄存器,用于设定或表示 SD 卡信息。2.SD卡的寄存器不能像STM32那样访问,而是利用命令访问,SDIO 定义了 64 个命令。SD 卡接收到命令后,根据命令要求对 SD 卡内部寄存器进行修改,程序控制中只需要发送组合命令就可以实现 SD 卡的控制以及读写操作。原创 2023-09-19 11:11:24 · 816 阅读 · 1 评论 -
【STM32】WWDG—窗口看门狗
与独立看门狗不同的是,独立看门狗只需要在计时到0之前喂狗。而窗口看门狗需要在设定好的区间内进行喂狗,否则进行reset。原创 2023-09-18 16:03:22 · 359 阅读 · 0 评论 -
【STM32】IWDG—独立看门狗
基于stm32f103基于《零死角玩转STM32—F103指南者》原创 2023-09-15 17:08:41 · 344 阅读 · 0 评论 -
【STM32】基本定时器
基于stm32f103基于《零死角玩转STM32—F103指南者》进行学习。原创 2023-09-15 15:50:45 · 846 阅读 · 0 评论 -
【STM32】片上ADC的初步使用
片上ADC的初步使用原创 2023-09-12 13:14:13 · 789 阅读 · 0 评论 -
【STM32】FSMC—扩展外部 SRAM 初步使用 1
是一个外设,挂载在AHB总线下。可以用于驱动包括SRAMNOR FLASH以及NAND FLSAH类型的存储器,不能驱动如SDRAM这种动态的存储器STM32F429 系列的控制器中,它具有 FMC 外设,支持控制 SDRAM 存储器。简单来说类似于GPMC,可以以直接寻址的方式操作外置的存储设备,比如挂载一块SRAM在0x6000 0000处,不需要再像操作外置存储设备那样使用相关协议写一个字节,直接*(char)0x6000 0000 = 0x01就可以了。原创 2023-09-08 17:14:57 · 1884 阅读 · 0 评论 -
【STM32】常用存储器
RAM 是“Random Access Memory”的缩写,被译为随机存储器。所谓“随机存取”,指的是当存储器中的消息被读取或写入时,。而RAM可随读取其内部,因此得名。实际上现在RAM已经专门用于指代作为计算机内存的易失性半导体存储器。根据 RAM 的存储机制,又分为动态随机存储器 DRAM(Dynamic RAM)以及静态随机存储器 SRAM(Static RAM)两种。实际应用场合中,,而外部扩展的内存一般使用 DRAM。原创 2023-09-08 16:55:44 · 576 阅读 · 0 评论 -
【STM32】文件系统FATFS与Flash的初步使用
我们使用的是 MDK5.34 编译器,数据类型和 integer.h 里面定义的一致,所以此步,我们不需要做任何改动。0// 预留 SD 卡使用1# define ATA 0 // 预留 SD 卡使用 # define SPI_FLASH 1 // 外部 SPI Flash。原创 2023-09-05 14:06:11 · 1650 阅读 · 0 评论 -
【STM32】SPI初步使用 读写FLASH W25Q64
(1) SS( Slave Select):从设备选择信号线,常称为片选信号线,每个从设备都有独立的这一条 NSS 信号线,当主机要选择从设备时,把该从设备的 NSS 信号线设置为低电平,该从设备即被选中,即片选有效,接着主机开始与被选中的从设备进行 SPI通讯。所以 SPI通讯以 NSS 线置低电平为开始信号,以 NSS 线被拉高作为结束信号。(2) SCK (Serial Clock):时钟信号线,用于通讯数据同步。原创 2023-09-01 16:48:19 · 1146 阅读 · 0 评论 -
【STM32】DMA初步使用
DMA(Direct Memory Access)—直接存储器存取,是单片机的一个外设,它的主要功能是用来搬数据,但是不需要占用 CPU,即在传输数据的时候,CPU 可以干其他的事情。以STM32F103单片机为例F03有DMA1和DMA2两组DMA,其中DMA1有7个通道,DMA2有5个通道。原创 2023-09-01 14:45:12 · 912 阅读 · 0 评论 -
【STM32】IIC的初步使用
它是一个支持设备的总线。“总线”指多个设备共用的信号线。在一个 I2C 通讯总线中,可连接多个 I2C 通讯设备,支持多个通讯主机及多个通讯从机。原创 2023-08-31 13:33:52 · 1148 阅读 · 0 评论 -
【STM32】硬件IIC的缺陷
如果你一定需要高速率(400KHz),那么推荐大家使用STM32的替代方案GD32(兆易创新),它与STM32完全兼容但是解决了STM32的硬件I2C bug,经过本人实际测试,在400KHz的情况下工作,48小时无任何错误发生。(1)以上只是考虑了最纯粹的硬件I2C代码,对于某些使用了软件弥补的方法,例如在经常卡住的部分设置超时退出,不在本文的讨论范围内,因为这样已经破坏了正常的I2C协议。2、硬件I2C的CLK在常用的100kHz和400KHz下工作,99%的概率下会在1小时之内卡住,甚至只有几十秒。转载 2023-08-30 18:12:54 · 3152 阅读 · 0 评论 -
【单片机】UART、I2C、SPI、TTL、RS232、RS422、RS485、CAN、USB、SD卡、1-WIRE、Ethernet等常见通信方式
在单片机开发中,UART、I2C、RS485等普遍在用,这里做一个简单的介绍。原创 2023-08-29 18:40:44 · 3280 阅读 · 2 评论 -
【STM32】Keil中的Code,RO,RW,ZI以及堆栈
RO RW ZI CODE原创 2023-04-13 17:15:51 · 1411 阅读 · 0 评论 -
【STM32】串口初步使用
本文只作为学习笔记,对串口进行一个简单的介绍,正确的使用方式还需要进行实际的调试。原创 2023-08-23 16:30:04 · 220 阅读 · 0 评论 -
【STM32】中断与NVIC以外部中断为例
在stm32中姑且可以认为,异常就是中断单片机上电之后,首先执行启动文件,开辟堆栈之后,开始初始化中断向量表。1.优先级只有主优先级和子优先级2.所谓的优先级分组是决定了IP寄存器的高4bit,其中哪几位代表主优先级,几位代表子优先级3.数值越小所代表的优先级就越高4.抢占优先级:抢占优先级高的中断可以打断正在执行的抢占优先级低的中断。5.响应优先级:抢占优先级相同,响应优先级高的中断不能打断响应优先级低的中断。还有一种情况就是当两个或者多个中断的抢占式优先级和响应优先级相同时,那么就遵循。原创 2023-08-23 15:32:13 · 852 阅读 · 0 评论 -
【STM32】AFIO 以及重映射
在配置外部中断的时候,打开GPIO时钟的时候,也同时打开了AFIO的时钟。原创 2023-08-23 13:40:22 · 2268 阅读 · 0 评论 -
【STM32】启动流程分析补充
单片机上电到main的过程原创 2023-04-27 17:13:14 · 1076 阅读 · 0 评论 -
【STM32】单片机启动文件分析 01
单片机上电后启动文件做了什么原创 2023-04-27 16:32:32 · 2170 阅读 · 1 评论 -
【STM32】中断向量表
中断向量表原创 2023-04-24 17:07:50 · 3268 阅读 · 0 评论 -
【原理图】电路中的VCC VDD VSS VEE GND含义 以及STM32电源
学习看原理图原创 2023-04-17 22:58:44 · 3802 阅读 · 0 评论 -
【STM32】在手册中查看IO的功能说明
阅读野火stm32笔记原创 2023-04-19 18:08:21 · 292 阅读 · 0 评论 -
【STM32】为什么STM32的Flash地址要设置到0x08000000
参考【不是问题的问题】:这边涉及到分散加载文件,启动文件等等,先挖坑,搞定IAP升级以后再填。原创 2023-04-19 16:49:43 · 1036 阅读 · 0 评论 -
STM32学习笔记01 初识STM32 总线
内核通过总线与各种外部器件进行通信。内核由arm设计,外设由各家芯片厂商设计。这些内容了解就行。以stm32f103为例,简单说明一下系统构成。其中驱动单元有 4个,被动单元也有 4 个。以stm32f4系列为例,简单说明一下系统构成。STM32F407主系统是一款32位,基于多种AHB总线矩阵构成的,以此来实现多种主控总线的互联互通。● 八条主控总线:— Cortex™-M4F 内核 I 总线、D 总线和 S 总线— DMA1 存储器总线— DMA2 存储器总线。原创 2023-04-10 16:07:18 · 1664 阅读 · 1 评论 -
【STM32】STM32存储映射
STM32存储映射原创 2023-04-13 15:40:52 · 811 阅读 · 0 评论